• Viernes 8 de Noviembre de 2024, 18:58

Autor Tema:  VB6 y Acces2002. Definir tabla a leer en VB6; Error 13  (Leído 2671 veces)

ylodis

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
VB6 y Acces2002. Definir tabla a leer en VB6; Error 13
« en: Viernes 24 de Abril de 2009, 22:36 »
0
Hola,

Intento crear un subprograma que al pulsar un botón cree una copia de una tabla leyendo todos los registros de la 1º y a la vez vaya grabando en la 2ª.
Cuando llego a la instrucción en rojo, al intendar definir la 1ª Tabla tengo un "error '13' en tiempo de ejecucion : No coinciden los tipos ".
Aclaro que soy novato en VB6 y el puede que el problema sea muy básico.


Private Sub Command3_Click()
Dim BDD As Database 'Objeto para manejar la base de datos
Dim TB1 As Recordset 'Objeto para manejar la Tabla
Dim TB2 As Recordset 'Objeto para manejar la Tabla
Set BDD = OpenDatabase("D:Mis documentosMisProgBases de Datosbd1.mdb") 'Abre la base de datos
Dim SQL As String 'Declarar una variable para almacenar sentencia SQL

SQL = "SELECT * FROM datos"
Set TB1 = BDD.OpenRecordset(SQL) 'Define Tabla 1

SQL = "SELECT * FROM datosCopia"
Set TB2 = BDD.OpenRecordset(SQL) 'Define Tabla 1

TBL.MoveFirst 'nos posicionamos en el primer registro de la tabla
Do Until TB1.EOF
SQL = "INSERT INTO datosCopia (nombre,nif,direccion,telefono,cp,poblacion) VALUES(datos.nombre,datos.nif,datos.direccion,dato s.telefono,datos.cp,datos.poblacion)"
TB1.MoveNext 'leer siguiente
Loop

TBL.Close 'cierra tabla
BDD.Close 'cierra base de datos
End Sub

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: VB6 y Acces2002. Definir tabla a leer en VB6; Error 13
« Respuesta #1 en: Sábado 25 de Abril de 2009, 21:46 »
0
Lo que significa el error 13 es que estás tratando de usar una variable de forma incorrecta. Por ejemplo: una variable númerica por una de texto.
Efectúe un copy-paste a una forma en VB y lo primero que noto es que tienes 2 variables no declaradas:
Código: Text
  1. TBL.MoveFirst 'nos posicionamos en el primer registro de la tabla
  2.  
Código: Text
  1. TBL.Close 'cierra tabla
  2.  

Supongo que debe ser TB1 en lugar de TBL

Eso es probable por que no tengas el Option Explicit en la primera línea de la forma. Te sugiero la coloques y revises de nuevo el programa ejecutándolo para que veas que errores te marca.

No encontré otro error.

 :comp: