Newsgroup: it.comp.lang.visual-basic
Titolo: Creazione origine dati odbc

Vorrei sapere se è possibile creare (da codice) una nuova origine dati 
odbc usando il driver di client access.
Grazie
Inviato da 
www.mynewsgate.net

'QUESTO IN UN MODULO
Option Explicit
Const ODBC_ADD_SYS_DSN = 4       'Add data source
Const ODBC_CONFIG_SYS_DSN = 5    'Configure (edit) data source
Const ODBC_REMOVE_SYS_DSN = 6    'Remove data source
Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal _
   hwndParent As Long, ByVal fRequest As Long, ByVal _
   lpszDriver As String, ByVal lpszAttributes As String) As Long
Function Build_SystemDSN(DSN_NAME As String, Db_Path As String)
   Dim ret%, Driver$, Attributes$
   Driver = "Microsoft Access Driver (*.MDB)" & Chr(0)
   Attributes = "DSN=" & DSN_NAME & Chr(0)
   Attributes = Attributes & "Uid=Admin" & Chr(0) & "pwd=" & Chr(0)
   Attributes = Attributes & "DBQ=" & Db_Path & Chr(0)
   ret = SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, Driver, Attributes)
   'ret is equal to 1 on success and 0 if there is an error
   If ret <> 1 Then
       MsgBox "DSN Creation Failed"
   End If
End Function
Function Delete_SystemDSN(DSN_NAME As String, Db_Path As String)
   Dim ret%, Driver$, Attributes$
   Driver = "Microsoft Access Driver (*.MDB)" & Chr(0)
   Attributes = "DSN=" & DSN_NAME & Chr(0)
   Attributes = Attributes & "Uid=Admin" & Chr(0) & "pwd=" & Chr(0)
   Attributes = Attributes & "DBQ=" & Db_Path & Chr(0)
   ret = SQLConfigDataSource(0, ODBC_REMOVE_SYS_DSN, Driver, Attributes)
   'ret is equal to 1 on success and 0 if there is an error
   If ret <> 1 Then
       MsgBox "DSN Creation Failed"
   End If
End Function
Poi in un form con un paio di commandbutton
Private Sub Command1_Click()
'crea dsn
    On Error Resume Next
    Err = 0
    x = Build_SystemDSN("TRC", App.Path & "\TRC.mdb")
    If Err = 0 Then
        MsgBox "DSN Creato"
        Else
        MsgBox "Errore creazione DSN"
    End If
End Sub
Private Sub Command2_Click()
'sega via dsn
    On Error Resume Next
    Err = 0
    x = Delete_SystemDSN("FONTEDIPROVA", App.Path & "\provadsn.mdb")
    If Err = 0 Then
        MsgBox "DSN Cancellato"
        Else
        MsgBox "Errore cancellazione DSN"
    End If
End Sub
-- 
Le persone non sono il proprio comportamento: devi sempre andare oltre,
essere flessibile, capire il punto di vista degli altri, interpretarne i
comportamenti ed intuirne le esigenze.
Per rispondere in privato elimina
dall'indirizzo "togliquesto"
MasterDavidex
David Ruscelli
"luca" <36...@mynewsgate.ned.invalid> ha scritto nel messaggio
news:200312220...@mynewsgate.net...


'QUESTO IN UN MODULO
Option Explicit






    x = Build_SystemDSN("NOMEFONTE", "PERCORSODB")
    If Err = 0 Then
        MsgBox "DSN Creato"
        Else
        MsgBox "Errore creazione DSN"
    End If
End Sub
Private Sub Command2_Click()
'sega via dsn
    On Error Resume Next
    Err = 0
    x = Delete_SystemDSN("NOMEFONTE", "PERCORSODB")
    If Err = 0 Then
        MsgBox "DSN Cancellato"
        Else
        MsgBox "Errore cancellazione DSN"
    End If
End Sub
-- 
Le persone non sono il proprio comportamento: devi sempre andare oltre,
essere flessibile, capire il punto di vista degli altri, interpretarne i
comportamenti ed intuirne le esigenze.
Per rispondere in privato elimina
dall'indirizzo "togliquesto"
MasterDavidex
David Ruscelli
-- 
Le persone non sono il proprio comportamento: devi sempre andare oltre,
essere flessibile, capire il punto di vista degli altri, interpretarne i
comportamenti ed intuirne le esigenze.
Per rispondere in privato elimina
dall'indirizzo "togliquesto"
MasterDavidex
David Ruscelli
"luca" <36...@mynewsgate.ned.invalid> ha scritto nel messaggio
news:200312220...@mynewsgate.net...


 odbc usando il driver di client access.
