Hola, les comento q estoy haciendo haber si alguno me puede llegar a asolucionar este problemas. Estoy haciendo un registro en acces de las mediciones q se realizan sobre unos impresos. Para ello el usuario de ingresar el documento, y luego el lote. Cada documento es unico e irrepetible y se guarda en forma de tabla en un access. Dentro de la tabla documento se colocan el lote y su medicion en la misma fila. Todo esto ya lo pude hacer. El tema es el buscador, aqui el usuario debe poner el documentro y luego en otro text el lote, pero amedida q va escribiendo el lote tiene q ir buscandolo en la tabla. para ello escribo algo asi:
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim longuitud2 As Integer
Dim palabra2 As String
palabra2 = Text2.Text
longuitud2 = Len(palabra2)
Text4.Text = longuitud2
If longuitud2 >= 3 Then
Adodc1.RecordSource = "Select * From" & "text1.text Order By Lote" & sOrden
Adodc1.Refresh
Buscar
If KeyAscii = 13 Then
If Text2.Text <> "" Then
datos.Recordset.Filter = "Nombre LIKE '*" + Text2.Text + "*'"
Else
datos.Recordset.Filter = ""
datos.Refresh
End If
KeyAscii = 0
End If
End If
End Sub
el text2.text es donde se escribe el lote. EL problema conciso es:
Adodc1.RecordSource = "Select * From" & "text1.text Order By Lote" & sOrden
aqui nose como hacer para asignarle la tabla q se escriba en text1.text es un error de sintacsis.
Desde ya muchas gracias...
No entendí un joraca lo que queres hacer, pero esto está mal:
Adodc1.RecordSource = "Select * From" & "text1.text Order By Lote" & sOrden
Como te daras cuenta, las comillas están mal puestas, lo correcto sería.
Adodc1.RecordSource = "Select * From" & text1.text " Order By Lote" & sOrden
Otra cosa que no entiendo es ¿ como es que tenes en text1 el nombre de la tabla ?, eso es un disparate, no puede ser que el usuario tenga que ingresar el nombre de una tabla, ademas si le decis "Order by Lote" es obvio que ya sabes que vas a ordenar por el atributo "Lote" que tiene que estar sí o si dentro de lo devuelto por tu sentencia SELECT.
Tambien supongo que en la variable sOrden tenes "Asc" o "Desc" sino tampoco tiene sentido esa variable alli.
Tampoco entiendo la necesidad de "a medida q va escribiendo el lote tiene q ir buscandolo en la tabla", no me parece ni eficiente ni necesario, con que la consulta se haga al terminar de escribir el lote me parece suficiente (pongamosle por ejemplo al precionar "Enter" o "Tab" o al perder el foco (evento lostfocus))
De todas maneras, es imposible ayudarte ya que no sabemos.
* La estructura de tu BD
* Que es lo que se ingresa en text1
* Cuales son los requerimientos.
Si das mas información quizas podamos ayudarte.
Saludos
Gracias por contestar. Si al principio le puse el boton buscar como decis pero keria probar haber si me salia esto q decia.La verdad q es bastante dificil explicarlo pero voy a tratar de aclarar lo puntos q me marcaste.
Con lo referente al programa el usuarioen el text1 ingresa el nombre del documento, luego con una rutina crea una nueva tabla para ese documento con el mismo nombre q se puso en el text1, si ya esta creada lo unico q hace es abrirla. Dentro de cada tabala esta el campo ID y el campo LOTE, lo q trataba de hacer aca
Adodc1.RecordSource = "Select * From" & "text1.text Order By Lote" & sOrden
era q lo ordenara por nombre de lote y luego con Buscar q me sañalara la fila. Sabia q estaba mal escrito y la pregunta era como debia hacerlo para escribirlo bien. Probe como me dijiste pero me tiro el error de "se espera fin del la instruccion" apenas termino de escribir text1.text.
te dejo dos screenshoot para ver si se aclara alguna duda
http://img219.imagevenue.com/aAfkjfp01fo1i-8025/loc448/99000_visual_123_448lo.jpg
http://img214.imagevenue.com/aAfkjfp01fo1i-1087/loc510/99001_access_123_510lo.jpg
Desde ya muchas gracias...
bueh, primero que nada, las capturas no me funcan así que no tengo ni idea de que contenian.
Tenes razón en que la linea de codigo que te dije tenia un error, olvidé agregarle el & al final de text1.text, quedaría así.
Adodc1.RecordSource = "Select * From " & text1.text & " Order By Lote" & sOrden
Ahora lo que no entiendo es la necesidad de crear una tabla en tiempo de ejecución, me parece un disparate al menos que me des una razón valedera. ¿ aparte que es lo que habria en esa tabla y como la llenas con datos ? porque supongo que luego de crearla de alguna manera le cargas datos ¿ de donde salen esos datos ?
¿ porqúe mejor no decis especificamente que es lo que necesitas que haga el programa ?, así sería mas facil.
Y por favor, explicame que tablas usas y que atributos tienen cada tabla en lo posible con una descripción de los mismos.
Saludos.