otra vez problemas
Publicado por MIGUEL (18 intervenciones) el 14/05/2003 10:14:00
Aqui vuelvo con mis problemas. Ya he conseguido conectarme correctamente a una base de datos de un equipo externo ahora mi problema es que estoy intentando crear una copia idéntica en una base de datos tipo mdb. El programa funciona correctamente excepto si incluyo la propiedad type del field. A continuación pongo el código he indicado donde falla el programa si dejo tipo no funciona y si lo quito si. Los tipos de datos no son iguales? ¿Cómo puedo conocer la equivalencia?
Private Sub cmdactualizar_Click()
Dim db As Database
Dim td As TableDef
Dim fd As Field
Dim contador As Integer
Dim tamaño As Integer
Dim nombre As String
Dim tipo As Integer
Set db = OpenDatabase(App.Path & "\AS400.mdb")
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
cnn.ConnectionString = "DSN=CONEXION;UID=;PWD=;"
cnn.Open
rst.CursorLocation = adUseClient 'establece el recordset como cliente
rst.Open "NOMBRETABLA", cnn, adOpenDynamic, adLockOptimistic
'Crear Tabla en base de datos offline
Set td = db.CreateTableDef("NOMBRETABLA")
For contador = 0 To (rst.Fields.Count) - 1
nombre = rst.Fields(contador).Name
tipo = rst.Fields(contador).Type
tamaño = rst.Fields(contador).ActualSize
td.Fields.Append td.CreateField(nombre, tipo, tamaño) ''AQUI ESTA EL PROBLEMA''
Next contador
db.TableDefs.Append td
End Sub
GRACIAS POR VUESTRO TIEMPO.
SALUDOS
Private Sub cmdactualizar_Click()
Dim db As Database
Dim td As TableDef
Dim fd As Field
Dim contador As Integer
Dim tamaño As Integer
Dim nombre As String
Dim tipo As Integer
Set db = OpenDatabase(App.Path & "\AS400.mdb")
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
cnn.ConnectionString = "DSN=CONEXION;UID=;PWD=;"
cnn.Open
rst.CursorLocation = adUseClient 'establece el recordset como cliente
rst.Open "NOMBRETABLA", cnn, adOpenDynamic, adLockOptimistic
'Crear Tabla en base de datos offline
Set td = db.CreateTableDef("NOMBRETABLA")
For contador = 0 To (rst.Fields.Count) - 1
nombre = rst.Fields(contador).Name
tipo = rst.Fields(contador).Type
tamaño = rst.Fields(contador).ActualSize
td.Fields.Append td.CreateField(nombre, tipo, tamaño) ''AQUI ESTA EL PROBLEMA''
Next contador
db.TableDefs.Append td
End Sub
GRACIAS POR VUESTRO TIEMPO.
SALUDOS
Valora esta pregunta


0