Ayuda!!

naveguito
15 de Enero del 2004
Hola a todos:

Tengo el siguiente problema,estoy haciendo una búsqueda simultanea en varios controles data(según los que elija) y quiero que el resultado de esa búsqueda me lo refleje en un unico DBGrid,además la búsqueda se realiza según los campos de texto.Pero para hacer la búsqueda hice lo siguiente:

Private Sub CmdAceptar2_Click()
For i = 0 To 5
If Data(i).Enabled = True Then
Data(i).RecordSource = "select * from " + TABLA
Data(i).Refresh
End If
Next
DBG.Visible = True
End Sub

Function TABLA() As String
If Data(i) = Data(0) Then TABLA = "Encoder_Hohner"
If Data(i) = Data(1) Then TABLA = "Encoder_Givi"
If Data(i) = Data(2) Then TABLA = "Encoder_Elgo"
If Data(i) = Data(3) Then TABLA = "Encoder_Posital"
If Data(i) = Data(4) Then TABLA = "Encoder_Scancon"
If Data(i) = Data(5) Then TABLA = "Encoder_WayCon"
End Function

Me falta poner en el select ;where (el nombre de los campos de los datos,que son comunes en todos los datas) like '+los nombres de los textbox que corresponden a esos campos de la BD pero no sé como puedo hacerlo

Espero que alguien sí lo sepa.Gracias

kinoscar
15 de Enero del 2004
TE SUGIERO ESTO

Private Sub CmdAceptar2_Click()
For i = 0 To 5
If Data(i).Enabled = True Then
Data(i).RecordSource = "select * from " + TABLA
Data(i).Refresh
End If
Next
DBG.Visible = True
End Sub

Function TABLA(indice as integer) As String
select case indice
case0 Then TABLA = "Encoder_Hohner"
If Data(i) = Data(1) Then TABLA = "Encoder_Givi"
If Data(i) = Data(2) Then TABLA = "Encoder_Elgo"
If Data(i) = Data(3) Then TABLA = "Encoder_Posital"
If Data(i) = Data(4) Then TABLA = "Encoder_Scancon"
If Data(i) = Data(5) Then TABLA = "Encoder_WayCon"
end select
End Function

naveguito
15 de Enero del 2004
Lo probaré pero con respecto a lo de buscar en los campos de las tablas de la bd no sabes nada?

P.D:No se si te acuerdas pero me mandaste un mensaje en el que me dabas la siguiente solucion:

For j = 0 To 17
Set Txt(j).DataSource = Data(i).RecordSource
Next

Me da un error en el que me dice que requiere un objeto,sabrias como puedo hacer.Gracias

kinoscar
15 de Enero del 2004
el txt(j) es un objeto textbox cierto?

naveguito
15 de Enero del 2004
Si,el txt(j) si que es un txtbox

kinoscar
15 de Enero del 2004
TE SUGIERO ESTO

Private Sub CmdAceptar2_Click()
For i = 0 To 5
If Data(i).Enabled = True Then
Data(i).RecordSource = "select * from " & TABLA & " where campo1 like 'criterio *'"
Data(i).Refresh
End If
Next
DBG.Visible = True
End Sub

Function TABLA(indice as integer) As String
select case indice
case 0
TABLA = "Encoder_Hohner"
case 1
TABLA = "Encoder_Givi"
case 2
TABLA = "Encoder_Elgo"
case3
TABLA = "Encoder_Posital"
case 4
TABLA = "Encoder_Scancon"
case 5
TABLA = "Encoder_WayCon"
end select
End Function

espero te sirva
suerte

naveguito
15 de Enero del 2004
Es que la búsqueda puede ser por 27 campos diferentes de (1 a 27)como puedo hacer.Con criterio a que haces referencia

naveguito
15 de Enero del 2004
Si quieres te mando el formulario a tu correo.Gracias de nuevo

kinoscar
15 de Enero del 2004
ok

kinoscar
15 de Enero del 2004
criterio: parametros por los cuales se realiza una busqueda ej nombre='jose', nombrel like 'jo*'

sobre el como hacerlo lamento decirte que debes evaluar programar los 27 criterios de busqueda y utilizar el seleccionado de la misma forma como seleccionas las tablas

Lionella
15 de Enero del 2004
Mira yo tengo el mismo problema que vos y pero trabajo sobre una sola tabla, y tengo que buscar por nro. de documento, me podés ayudar si ya tienes la respuesta .muchas gracias