PROBLEMA CON ODBC A BASE DE DATOS DBASE
Publicado por RAMON (67 intervenciones) el 19/12/2003 14:09:14
Tengo una aplicacion visual basic con una conexion odbc a una bd dbase. Tengo una tabla llamada infalbar que cada vez que voy a realizar una insercion de datos antes de insertar borro todos los datos de la tabla. Cuando ejecuto por primera vez la aplicacion funciona correctamente, borro y despues inserto, pero la segunda vez que voy a insertar me da el siguiente error: [Controlador ODBC dBase] No se pudo eliminar nada en las tablas especificadas.
Sin intento hacer lo mismo pero sin borrar antes, me pasa lo mismo. La primera vez que inserto funciona, pero la segunda vez me da el siguiente error: [Controlador ODBC dBase] La operacion debe usar una consulta actualizable.
el codigo que tengo es el siguiente:
Dim borra As String
Dim consulta As String
Dim usuario As String
Dim contraseña As String
Dim ws As Workspace
Dim odb As Connection
usuario = "CelucostaUsuser"
contraseña = "CelucostaPass"
Set ws = CreateWorkspace(usuario, usuario, contraseña, dbUseODBC)
Set odb = ws.OpenConnection("", , False, "ODBC;DSN=CELUCOSTA")
borra = "DELETE FROM INFALBAR"
consulta = "INSERT INTO INFALBAR (ALBARAN, REF, DETALLE, UNIDADES, ENVASES) SELECT L.NNUMALB, L.CREF, L.CDETALLE, L.NUNIDADES, A.NUNIDADES FROM ALBCLIL AS L, ARTICULO AS A WHERE (L.NNUMALB BETWEEN " & albaran1 & " AND " & albaran2 & ") AND L.CREF=A.CREF"
odb.Execute borra
odb.Execute consulta
Sin intento hacer lo mismo pero sin borrar antes, me pasa lo mismo. La primera vez que inserto funciona, pero la segunda vez me da el siguiente error: [Controlador ODBC dBase] La operacion debe usar una consulta actualizable.
el codigo que tengo es el siguiente:
Dim borra As String
Dim consulta As String
Dim usuario As String
Dim contraseña As String
Dim ws As Workspace
Dim odb As Connection
usuario = "CelucostaUsuser"
contraseña = "CelucostaPass"
Set ws = CreateWorkspace(usuario, usuario, contraseña, dbUseODBC)
Set odb = ws.OpenConnection("", , False, "ODBC;DSN=CELUCOSTA")
borra = "DELETE FROM INFALBAR"
consulta = "INSERT INTO INFALBAR (ALBARAN, REF, DETALLE, UNIDADES, ENVASES) SELECT L.NNUMALB, L.CREF, L.CDETALLE, L.NUNIDADES, A.NUNIDADES FROM ALBCLIL AS L, ARTICULO AS A WHERE (L.NNUMALB BETWEEN " & albaran1 & " AND " & albaran2 & ") AND L.CREF=A.CREF"
odb.Execute borra
odb.Execute consulta
Valora esta pregunta


0