¿Cómo programar en vb6.0 para convertir contenido TXT en ACCESS mdb?
Crear mdb usando solo ADO es bastante problemático. Generalmente, se usa el objeto ADOX. Después de tener éxito, ábralo con el objeto ADO. Use el último método para escribir, pero su símbolo delimitador es ". : " y espacios. Los campos también se modifican en consecuencia.
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\new.mdb"
El siguiente es el proceso de almacenar texto en un objeto ADO en MSDN.
Private Sub Class_Initialize()
Dim fld Como ADODB.Field
Dim strRow como cadena
Dim strField como cadena
Dim intPos como entero
Establecer rsCustomers = Nuevo ADODB. Recordset
Con rsCustomers
' Establece CustomerID como clave principal.
.Fields.Append "CustomerID", adChar, 5, adFldRowID
.Fields.Append "CompanyName", adChar, 40, adFldUpdatable
.Fields. Agregue "ContactName", adChar, 30, adFldUpdatable
.Fields.Append "ContactTitle", adChar, 30, adFldUpdatable
.Fields.Append "Dirección", adChar, 60, adFldUpdatable
.Fields.Append "Ciudad", adChar, 15, adFldUpdatable
.Fields.Append "Región", adChar, 15, adFldMayBeNull
.Fields. Agregue "Código postal", adChar, 10, adFldMayBeNull
.Fields.Append "País", adChar, 15, adFldUpdatable
.Fields.Append "Teléfono", adChar, 24, adFldUpdatable
.Fields.Append "Fax", adChar, 24, adFldMayBeNull
'Utiliza un tipo de cursor de conjunto de claves para permitir la actualización de registros.
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Terminar con
Abrir "Clientes .txt" para entrada como #1
Hacer hasta EOF(1)
Entrada de línea #1, strRow
Con rsCustomers
.AddNew
Para cada campo en .Fields
'Si se encuentra un separador de pestañas, el texto del campo' está a la izquierda del separador.
Si InStr(strRow, Chr(9)) <> 0 Entonces
' Mueve la posición al separador de pestañas.
intPos = InStr(strRow, Chr(9))
' Asigna el texto del campo a la variable strField.
strField = Left(strRow, intPos - 1)
Else
' Si no se encuentra ningún delimitador de tabulación, el texto del campo
' es el último campo de la fila.
strField = strRow
End If
' Elimina las comillas.
Si Left(strField, 1) = Chr(34) Entonces
strField = Left(strField, Len(strField) - 1)
strField = Right (strField, Len(strField) - 1)
End If
fld.Value = strField
' Elimina el valor del campo de la línea de texto.
strRow = Right(strRow, Len(strRow) - intPos)
intPos = 0
Siguiente
.Actualizar
.MoveFirst
Finalizar con
Bucle
Cerrar
Fin Sub