Error 2147217900(80040e14) VB
Estoy tratando de conectar una tabla de access (Base de datos) en Tabla de excel (cálculo financiero) con VB, pero al momento de ejecutar me marca error Error 2147217900(80040e14) error de sintaxis en la cláusula from, de favor me puedes ayudar a corregir este error, te envío el código, saludos
(Te marco en negrita el error, líneas abajo)
Dim cn As New ADODB.Connection 'Creamos el objeto Connection
Private WithEvents rs As ADODB.Recordset 'Creamos el Recordset con soporte de eventos
Private Sub cmdAnterior_Click()
'Verificamos si no estamos antes del principio del Recordset
If rs.BOF = False Then
rs.MovePrevious 'Movemos al registro anterior
End If
End Sub
Private Sub cmdPrimero_Click()
'Movemos al primer registro del Recordset
rs.MoveFirst
End Sub
Private Sub cmdSalir_Click()
Rs. Close 'Cerramos el Recordset
cn. Close 'Cerramos la aplicación
'Salimos de la aplicación
End
End Sub
Private Sub cmdSiguiente_Click()
'Verificamos si no estamos después del último elemento del Recordset
If rs.EOF = False Then
rs.MoveNext 'Movemos al siguiente registro
End If
End Sub
Private Sub cmdÚltimo_Click()
'Movemos al último registro del Recordset
rs.MoveLast
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub TextBox2_Change()
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub TextBox5_Change()
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Layout()
Set rs = New ADODB.Recordset 'Activamos el Recordset
'Abrimos la base de datos "Administración Cartera bd1.mdb"
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\Documents and Settings\MIGUEL GUTIERREZ\Mis documentos\SAC_MRG\Administración Cartera bd1.mdb"
'Especificamos la fuente de datos.
rs.Source = "2 Datos Gral del Crédito"
rs.CursorType = adOpenKeyset 'Definimos el tipo de cursor
rs.LockType = adLockOptimistic 'Definimos el tipo de bloqueo
'Abrimos el Recordset y lo llenamos con una consulta SQL
rs.Open "select * from 2 Datos Gral del Crédito", cn
Rs. MoveFirst 'Nos movemos al principio del Rrecordset
'Cargamos los datos en las cajas de texto
TextBox1.Text = rs.Fields("No. De Control")
TextBox2.Text = rs.Fields("Crédito")
TextBox3.Text = rs.Fields("Tipo de Crédito")
TextBox4.Text = rs.Fields("Plazo")
TextBox5.Text = rs.Fields("Destino del Financiamiento")
End Sub
Private Sub rs_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError_ _
As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'Si estamos antes del principio del Recordset
If rs.BOF = True Then
rs.MoveFirst 'Movemos al principio del Recordset
'Si estamos después del ultimo elemento del Recordset
ElseIf rs.EOF = True Then
rs.MoveLast 'Movemos al final del Recordset
Else
'Si se cambio del registro actual del Recordset a otro
TextBox1.Text = rs.Fields("No. De Control")
TextBox2.Text = rs.Fields("Crédito")
TextBox3.Text = rs.Fields("Tipo de Crédito")
TextBox4.Text = rs.Fields("Plazo")
TextBox5.Text = rs.Fields("Destino del Financiamiento")
End If
End Sub
(Te marco en negrita el error, líneas abajo)
Dim cn As New ADODB.Connection 'Creamos el objeto Connection
Private WithEvents rs As ADODB.Recordset 'Creamos el Recordset con soporte de eventos
Private Sub cmdAnterior_Click()
'Verificamos si no estamos antes del principio del Recordset
If rs.BOF = False Then
rs.MovePrevious 'Movemos al registro anterior
End If
End Sub
Private Sub cmdPrimero_Click()
'Movemos al primer registro del Recordset
rs.MoveFirst
End Sub
Private Sub cmdSalir_Click()
Rs. Close 'Cerramos el Recordset
cn. Close 'Cerramos la aplicación
'Salimos de la aplicación
End
End Sub
Private Sub cmdSiguiente_Click()
'Verificamos si no estamos después del último elemento del Recordset
If rs.EOF = False Then
rs.MoveNext 'Movemos al siguiente registro
End If
End Sub
Private Sub cmdÚltimo_Click()
'Movemos al último registro del Recordset
rs.MoveLast
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub TextBox2_Change()
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub TextBox5_Change()
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Layout()
Set rs = New ADODB.Recordset 'Activamos el Recordset
'Abrimos la base de datos "Administración Cartera bd1.mdb"
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\Documents and Settings\MIGUEL GUTIERREZ\Mis documentos\SAC_MRG\Administración Cartera bd1.mdb"
'Especificamos la fuente de datos.
rs.Source = "2 Datos Gral del Crédito"
rs.CursorType = adOpenKeyset 'Definimos el tipo de cursor
rs.LockType = adLockOptimistic 'Definimos el tipo de bloqueo
'Abrimos el Recordset y lo llenamos con una consulta SQL
rs.Open "select * from 2 Datos Gral del Crédito", cn
Rs. MoveFirst 'Nos movemos al principio del Rrecordset
'Cargamos los datos en las cajas de texto
TextBox1.Text = rs.Fields("No. De Control")
TextBox2.Text = rs.Fields("Crédito")
TextBox3.Text = rs.Fields("Tipo de Crédito")
TextBox4.Text = rs.Fields("Plazo")
TextBox5.Text = rs.Fields("Destino del Financiamiento")
End Sub
Private Sub rs_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError_ _
As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'Si estamos antes del principio del Recordset
If rs.BOF = True Then
rs.MoveFirst 'Movemos al principio del Recordset
'Si estamos después del ultimo elemento del Recordset
ElseIf rs.EOF = True Then
rs.MoveLast 'Movemos al final del Recordset
Else
'Si se cambio del registro actual del Recordset a otro
TextBox1.Text = rs.Fields("No. De Control")
TextBox2.Text = rs.Fields("Crédito")
TextBox3.Text = rs.Fields("Tipo de Crédito")
TextBox4.Text = rs.Fields("Plazo")
TextBox5.Text = rs.Fields("Destino del Financiamiento")
End If
End Sub
1 Respuesta
Respuesta de Roberto Alvarado
1