Visual Basic - Consulta SQL

Life is soft - evento anual de software empresarial
 
Vista:

Consulta SQL

Publicado por Eduardo (21 intervenciones) el 25/07/2006 05:10:57
Hola amigos tengo un problema. hice esta consulta en SQL pero algo me salio mal espero que alguien me pueda ayudar, Gracias Eduardo

DataEnvironment1.Commands("command1").CommandText = "SELECT alumnos.cedula, alumnos.apellido, alumnos.nombre, materia.codigo_materia, nota.nota, nota.año, materia.nombre_materia, materia.trimestre, materia.unidad_credito FROM alumnos, nota, materia WHERE alumnos.cedula = " & Text1.Text & ""
DataReport1.Show

P.D.: creo que algo no esta bien con las comillas no recuerdo si las necesito antes del SELECT o no las necesito o van son unas llaves o corchetes no lo se bueno espero que alguien me pueda ayudar Gracias.
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:Consulta SQL

Publicado por ramiro (44 intervenciones) el 25/07/2006 15:54:17
Prubea con esto "select lo_que_sea from tabla where condicion='text1'"
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:Consulta SQL

Publicado por Loud_in (110 intervenciones) el 25/07/2006 17:09:56
Primero, sí cedula es tipo numerico, cosidera en vez de ...
alumnos.cedula = " & Text1.Text & ""
por...
alumnos.cedula = " & Text1.Text

ya que no es necesario cerrar un texto que no existe. eso aplica sí fuese tipo texto (alumnos.cedula = '" & Text1.Text & "'") ó tipo fecha (alumnos.cedula = #" & Text1.Text & "#"). En ese caso debes interponer al inicio y al final de la variable (text1) la comilla sencilla (') ó el sharp (#) respectivamente.

Otra cosa, es que noto que la tabla nota, y materia, no estan relacionadas con la de alumnos en la intrucción SQL.
Hay algo, los SQL que trabajamos normalmentee, difieren cuando se realizan para un comando de un DataEnviroment. ya que normalmente uno utiliza la inst., INNER JOIN y en los comandos, las relaciones se establecen por el WHERE por ejemplo Alumnos.Cedula = Materias.Cedula AND Alumnos.Cedula =Notas.Cedula
Sin embargo, puedes colocar en el comando, el SQL como normalmente lo trabajas. así, podrás utilizar la inst. INNER JOIN, sí te sientes mas comodo

Debo decirte que esto es algo que noto. quizá así como vos lo tenes, sirva. no lo sé. solo lo noto. además, que también no sabia que podia establecer una instrucción SQL a un comando que previamente ha sido creado. lo máximo que he realizado y que por lo general lo hago, es realizarle un filtro al comando. por ejemplo. creas la instruccion SQL (te recomiendo que utilices el diseñador de consultas de visual al crear el comando. para verificar que la instruccion sea correcta y te dé los datos que queres) y luego, solo realizas el filtro al comando Ej:
DataEviroment.rsNombreCommando.Filter = "cedula = " & Text1.Text

Feliz Día
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:Consulta SQL

Publicado por Eduardo (21 intervenciones) el 26/07/2006 01:36:34
Gracias amigo por tu ayuda, te voy a explicar que hice y que necesito, tengo una base de datos y esta tiene 5 tablas, ok ahora necesito hacer un formulario donde en un text yo escriba el numero de cedula del alumno y en el datareport me muestre los campos que viste en al instruccion del sql, he intentado de muchas manera pero no doy en el clavo si me puedes ayudar gracias.

P.D: la instruccion que yo mostre en el foro no me funcia da este error cuando abre el datareport:

DATA TYPE MISMATCH IN CRITERIA EXPRESSION
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:Consulta SQL

Publicado por Eduardo (21 intervenciones) el 26/07/2006 02:35:30
hola hice lo que tu me escribiste, hice el filtro pero ahora en el reporte se repiten los campos es decir en la tabla de alumnos solo tengo a una persona y en el reporte sale en toda la hoja se repite lina por linea y yo solo quiero que muestre solo una linea
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