Otra duda de VB6 consulta a tabla access

Hola estimado experto en esta ocasión mi pregunta es la siguiente:
Este es el código que tengo en un form desde donde pretendo extraer 2 reportes como vera en el 1er comando consulto y reporto por todos los trabajadores (nombre de la tabla: trabajadores), pero el problema es en el 2do comando se trata de ingresar un texto (campo: "faena" de la tabla access) por medio de inputbox y reportarlo. La linea subrayada sale destacada como error,
Dim base As Connection
Dim temp As Recordset
Dim consulta As String, cod As String
Private Sub Command1_Click()
temp.Close
Set DataReport1.DataSource = Nothing
consulta = "select * from trabajadores"
temp.Open consulta, base, adOpenStatic, adLockReadOnly
Set DataReport1.DataSource = temp
DataReport1.Show
End Sub
Private Sub Command2_Click()
cod = InputBox("Ingrese faena a imprimir", "Trabajadores a reportar")
temp.Close
Set DataReport1.DataSource = Nothing
consulta = "select * from trabajadores where faena=" & cod
temp.Open consulta, base, adOpenStatic, adLockReadOnly
Set DataReport1.DataSource = temp
DataReport1.Show
End Sub
Private Sub Command3_Click()
unloadme
End Sub
Private Sub Form_Load()
Set base = New Connection
Set temp = New Recordset
base.Open "dsn=data"
temp.Open "trabajadores", base, adOpenDynamic, adLockBatchOptimistic
End Sub
1

1 Respuesta

566.650 pts. Desarrollador de aplicaciones en plataforma
Si el campo faena es de tipo string falta que encierres entre comillas sencillas a cod
Muchas gracias estimado experto por su molestia la verdad es que corregí ese detalle pero el error sigue igual en la misma linea alcanzo a leer algo de pocos parámetros cuando se cae la aplicación. Y aprovechando de su buena voluntad sabe porque en el reporte de todos los trabajadores es decir ver todos los registros con el datareport solo veo una hoja, es decir los primeros 17 registros pero no puedo ver más que esos
Tiene un botón que te permite moverte o mostrarte la siguiente página.
¿Si eso fue lo que pensé en primer lugar pero llevo horas buscándolo se que es bastante tonto no encontrar un botón pero no lo puedo hallar no sera que mi version de visual basic es 6.0 no tiene algo que ver con eso? Mire en la pantalla del reporte solo sale la hoja con los datos y arriba 2 botones uno para exportar y otro para imprimir nada más...
Entonces solo son esos los registros que tienes en la tabla o los que deben aparecer de acuerdo a la condición que estas colocando.
¿Ah yo lo corregí lo que pasa es que tenia que darle doble click a la ventana el botón del que ud hablaba estaba escondido no hay una propiedad par dejarlo visible? Y con respecto al otro error aun no logro consulta según el campo faena (es de texto) . en otro formulario pude consultar por fane mediante un textbox y que lo muestre en un datagrid no se porque no puedo ahora mediante un inputbox
Tienes algo mal en tu sentencia sql, revísala y ejecutala en el query analizer de la base de datos.
Pero que podría estar mal, donde esta query analizer
Private Sub Command2_Click()
cod = InputBox("Ingrese faena a imprimir", "Trabajadores a reportar")
temp.Close
Set DataReport1.DataSource = Nothing
consulta = "select * from trabajadores where faena=" & "cod"
temp.Open consulta, base, adOpenStatic, adLockReadOnly
Set DataReport1.DataSource = temp
DataReport1.Show
End Sub
¿Y el mensaje de error es?
Error 2147217904(80040e10) en tiempo de ejecución microsoft controlador odbc microsoft accces pocos parámetros se esperaba 1
El código es el que esta escrito más arriba en el Command2 y más arriba aun esta el del Command1 donde consulto por todos los trabajadores que si funciona
¿La variable cod esta como string eso esta bien no? Porque el campo al que consulto el de tipo texto
Supongo que el error es desspues de esta linea:
consulta = "select * from trabajadores where faena=" & "cod"
?
Deberías corregir esta linea de esta manera:
consulta = "select * from trabajadores where faena='" & cod & "'"
Eso era lo que la faltaba copie su linea sugerida y resulto fantástico es un verdadero experto. Pero para aprender me podría decir el motivo de porque su linea funciona y la mía no solo para aprender de mi error doy ppor terminada la pregunta perfecto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas