Visual Basic - URGENTE PLEASE!!SQL y TEXTBOX

Life is soft - evento anual de software empresarial
 
Vista:

URGENTE PLEASE!!SQL y TEXTBOX

Publicado por Edgar (193 intervenciones) el 05/08/2004 21:57:21
Hola colega, tengo una gran duda ya que necesito reflejar en un textbox lo que me realize una instruccion SQL.. He codificado de la siguiente manera:
SQL = "select des_estado from geografico where cod_estado = " & TXTcod_estado.Text & ""
He estado muy preocupado en esto y he intentado varias formas ya que poseeo una data donde en tabla1 tengo el campo de [centro], [estado], [municipio] (todos numericos) y en tabla 2 tengo [cod_estado], [cod_municipio], [des_estado],[des_municipio] (todos numericos tambien) y lo que necesito que realize es que cuando introduzca el [cod_centro] el me determine que codigo de [estado] posee y que codigo de [municipio] y luego lo va a comparar con la tabla 2 con los campos [cod_estado] y [cod_municipio] mostrando asi el resultado que seria [des_estado], [des_municipio], pero que coincida con todo el registro. Teno el siguiente codigo
centro.Seek "=", TXTcod_centro.Text
TXTcod_estado = centro.Fields("Estado1")
TXTcod_municipio = centro.Fields("Municipio1")
If TXTcod_estado.Text <> "" Then
geogra.MoveFirst
Do While Not geogra.EOF
If TXTcod_estado <> geogra!cod_estado And TXTcod_municipio <> geogra!cod_municipio Then
geogra.MoveNext
Else
TXTdes_estado = geogra.Fields("Des_estado")
TXTdes_municipio = geogra.Fields("Des_municipio")
Exit Do
End If
Loop
End If
Pero tampoco me funciona, nada mas me muestra el des_estado pero no me realize lo demas, como que si no lo encontrara ni lo comparara. Por eso estoy en la duda .. Agradezco de tu ayuda colega
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE PLEASE!!SQL y TEXTBOX

Publicado por juan carlos zuñiga (94 intervenciones) el 05/08/2004 22:39:36
Hola, al final comentas que solo te muestra des_estado, esto implica que des_municipio debe estar en blanco o nulo, ya checaste eso?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE PLEASE!!SQL y TEXTBOX

Publicado por Edgar (193 intervenciones) el 06/08/2004 00:57:50
Si ya chequie todo y no esta nulo des municipio, hay uno nulo pero es que el me tiene que hacer las comparaciones. Te voy a poner un ejemplo:

TABLA1

Centro Estado Municipio
120 13 1
100 12 3

TABLA2
Cod_estado Cod_municipio Des_estado Des_municipio
13 0 C
13 1 A B

Vamos a suponer estas dos tabla verdad, bueno resulta que yo realizo la consulta por el centro, suponiendo que fue 120 como en el ejemplo, la idea es que me busque en la tabla2 comparando los codigos, comparando el 13 de estado de tabla1 con el 13 de cod_estado de tabla pero al mismo tiempo tambien comparando el 1 de municipio de tabla1 con el 1 de cod_municipio de tabla2 mostrando asi el resulta que seria des_estado = A y des_municipio = B y no me salga el error que sea nulo el campo porque me muestra ese error pero es porque existe algunos campos de des_municipio que estan en blanco pero eso pasa porque no me esta haciendo la comparacion de los codigos del municipio simultaneamente con los del estado.. Agradezco de tu ayuda con toda esta explicacion amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

3 Soluciones A Tu Problema...

Publicado por Semper (74 intervenciones) el 06/08/2004 12:30:18
Lo que pasa es que tu codigo es incorrecto a la hora de comparar estado y municipio...

Estas preguntando si AMBOS (estado y municipio) son diferentes de los txt's entonces muevete al sig registro; si no resultan diferentes AMBOS, entonces se te va el procedimiento por el ELSE a cargar las descripciones y eso te genera el error de campo NULO...

Cualquiera de las siguientes tres opciones arregla tu problema:

1) Preguntar si ALGUNO de los campos ES DIFERENTE (usa el OR en lugar del AND)...

If TXTcod_estado <> geogra!cod_estado OR TXTcod_municipio <> geogra!cod_municipio Then
...MoveNext
else
...

2) Preguntar si AMBOS campos NO SON IGUALES a los txt's - usar el NOT y parentesis para encerrar toda la pregunta restante -...

If NOT (TXTcod_estado = geogra!cod_estado And TXTcod_municipio = geogra!cod_municipio) Then
...MoveNext
else
...

3) Preguntar SI AMBOS campos SON IGUALES a los TXT's (lo que cambia un poco tu codigo restante...)

If TXTcod_estado = geogra!cod_estado And TXTcod_municipio = geogra!cod_municipio Then

TXTdes_estado = geogra.Fields("Des_estado")
TXTdes_municipio = geogra.Fields("Des_municipio")
Exit Do

Else
geogra.MoveNext

End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:3 Soluciones A Tu Problema...

Publicado por Edgar (193 intervenciones) el 06/08/2004 14:38:54
Hola colega, si yo lo realize de esta manera pero de igual forma no obtengo los resultados esperados, Me muestra los textbox en blanco =$ guao amigo cual podra ser el problema, porque lo que veo es que el no me realiza la comparacion en cada uno de los campos, Entre cod_estado,cod_municipio sino que compara el primero y sigue al siguiente registro. Me imagino que es por el .movenext. Y la forma ideal seria que al comparar el primer campo, me compare el segundo campo y no el segundo registro... Agradezco de tu ayuda de antemano colega
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:3 Soluciones A Tu Problema...

Publicado por juan carlos zuñiga (94 intervenciones) el 06/08/2004 17:16:11
Sugiero que hagas un debug de tu programa para que sigas el rastro de que esta haciendo, espia tus variables y campos para saber que valores toma y en donde esta el fallo...salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Entonces Una Cuarta Solucion !!

Publicado por Semper (74 intervenciones) el 07/08/2004 03:43:42
Me parece raro que ninguna de los 3 soluciones anteriores te haya servido, pero en fin...

Prueba entonces preguntando por cada campo individualmente... Aqui el codigo:

If TXTcod_estado = geogra!cod_estado Then
If TXTcod_municipio = geogra!cod_municipio Then

TXTdes_estado = geogra.Fields("Des_estado")
TXTdes_municipio = geogra.Fields("Des_municipio")
Exit Do

End If
EndIf

geogra.MoveNext

De la manera anterior, Si el campo Estado es igual entonces preguntara si el campo Municipio es igual; si este es igual entonces cargara los textboxes. En caso de que alguno de los dos no sea igual pues simplemente termina por el endif y sale a ejecutar el MoveNext ...

Insisto: cualquiera de las 3 opciones anteriores deberia haberte funcionado perfectamente; bueno, ahora son cuatro soluciones posibles: revisa bien tu codigo: asegurate de que esta correcto ...

Actualizanos como te fue con esto...

Saludos !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar