Tengo un user dsn (Microsof dbase driver), configurado en una carpeta determinada. Hay alguna api que me permita que este user dsn me ataque a otra carpeta, sin tener que hacerlo a mano
Si no te he entendido mal tu lo que quieres es poder crear (dinámicamente) un DSN. El siguiente código es un sencillo ejemplo que te ayudará a realizar lo que deseas: Dim fsn As New Scripting.FileSystemObject Dim myDsn As Scripting.TextStream Private Sub Command1_Click() CommonDialog1.DialogTitle = "Select Your Database Name" CommonDialog1.Filter = "mdb Files(*.mdb)|*.mdb" CommonDialog1.ShowOpen If CommonDialog1.FileName = Empty Then MsgBox "Please Select Your Database Name" & (Chr(13) & Chr(10)) & "And Also Your DSN Not Created", vbDefaultButton1 + vbInformation, "Viju" Else Set myDsn = fsn.CreateTextFile("c:\viju.dsn") myDsn.WriteLine "[ODBC]" myDsn.WriteLine "DRIVER=Microsoft Access Driver (*.mdb)" myDsn.WriteLine "UID = admin" myDsn.WriteLine "UserCommitSync = Yes" myDsn.WriteLine "Threads = 3" myDsn.WriteLine "SafeTransactions = 0" myDsn.WriteLine "PageTimeout = 5" myDsn.WriteLine "MaxScanRows = 8" myDsn.WriteLine "MaxBufferSize = 512" myDsn.WriteLine "ImplicitCommitSync = Yes" myDsn.WriteLine "FIL=MS Access" myDsn.WriteLine "DriverId = 25" myDsn.WriteLine "DefaultDir=C:\" myDsn.WriteLine "DBQ=" & CommonDialog1.FileName MsgBox "Your DSN is Created Now" End If End Sub
Muchas gracias por tu rápida contestación. Si fuera posible me podrías indicar como quedaría esto para dBaseIII. Saludos y muchas, muchas gracias!
Yo nunca lo he usado aunque si pruebas a sustituir 'Microsoft Access Driver (*.mdb)' por 'Microsoft dBase Drives (*.dbf)' y 'FIL=MS Access' por 'FIL=dBase' posiblemente te funcione.