Foros del Web » Programación para mayores de 30 ;) » Programación General »

consulta SQL en vb 6

Estas en el tema de consulta SQL en vb 6 en el foro de Programación General en Foros del Web. Hola a todos. Es un placer saludarlos nuevamente. Esta pregunta puede ser tonta, pero bueno eso es lo que tenemos los principiantes. espero me puedan ...
  #1 (permalink)  
Antiguo 02/06/2004, 17:45
 
Fecha de Ingreso: abril-2004
Ubicación: Cdoro. Rivadavia
Mensajes: 83
Antigüedad: 20 años
Puntos: 0
consulta SQL en vb 6

Hola a todos. Es un placer saludarlos nuevamente.
Esta pregunta puede ser tonta, pero bueno eso es lo que tenemos los principiantes.
espero me puedan resolver este problema. Les describo la
situacion:
* Tengo un modulo en donde declaro entre otras cosas una variable
Public vgtelefono As String

* Tengo un formulario con un control ADO que me muestra en un DataGrid
los registros de una tabla hecha en access 2000.
Este fomulario tiene un CommandButton con el siguiente codigo:

Private Sub cmdok_Click()
vgtelefono = adomarcelo.Recordset!cli_nrotel
form_paraimprimir.Show
End Sub

* El formulario form_paraimprimir entre otras cosas lo uso para que muestre
los datos del registro seleccionado. El codigo de load es:

Private Sub Form_Load()
Dim marcelo As ADODB.Connection
Dim fabian As ADODB.Recordset

Set marcelo = New ADODB.Connection
marcelo.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Materiales de estudio\viba\taxicom\clientes.mdb;Mode=ReadWrite;P ersist Security Info=False"
marcelo.Open



Set fabian = New ADODB.Recordset
fabian.ActiveConnection = marcelo
fabian.Open ("select * from clientes where cli_nrotel = vgtelefono")

End Sub


El ERROR que me sale es:
No value given for one or more required parameters.

Saludos
  #2 (permalink)  
Antiguo 03/06/2004, 01:03
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 20 años
Puntos: 0
quita los parentesis del fabian.open
__________________
Alguien sabe como es?
  #3 (permalink)  
Antiguo 03/06/2004, 01:06
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 20 años
Puntos: 0
la variable vgtelefono se debe concatenar a la cadena, no meterla dentro de la cadena porque sino vgtelefono es simple texto y no la variable

fabian.open "SELECT * FROM clientes WHERE cli_nrotel=" & vbtelefono

o pones

dim sql as string
sql = "SELECT * FROM clientes WHERE cli_nrotel=" & vbtelefono
fabian.open sql
__________________
Alguien sabe como es?
  #4 (permalink)  
Antiguo 08/06/2004, 18:13
 
Fecha de Ingreso: abril-2004
Ubicación: Cdoro. Rivadavia
Mensajes: 83
Antigüedad: 20 años
Puntos: 0
no me funciona

Hola, quieté los parentesis como me recomendaste, pero ahora tengo este error:
"No coinciden los datos en la expresión de criterios"
Asi es como me quedó el código.

Private Sub Form_Load()
Dim marcelo As ADODB.Connection
Dim fabian As ADODB.Recordset


Set marcelo = New ADODB.Connection
marcelo.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Materiales de estudio\viba\taxicom\clientes.mdb;Mode=ReadWrite;P ersist Security Info=False"
marcelo.Open

Set fabian = New ADODB.Recordset
fabian.ActiveConnection = marcelo
fabian.Open "select * from clientes where cli_nrotel = " & vgtelefono


'lblnrotel.Caption = fabian!cli_nrotel

End Sub

tambien probé con:
dim sql as string
sql = "SELECT * FROM clientes WHERE cli_nrotel=" & vbtelefono
fabian.open sql

Y tambien me tira el mismo error
  #5 (permalink)  
Antiguo 09/06/2004, 01:58
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 20 años
Puntos: 0
Lo unico que se me ocurre por lo que te da el error es porque:

- El campo "cli_nrotel" sea de tipo texto y para eso deberas poner la sql de esta manera :

fabian.Open "SELECT * FROM clientes WHERE cli_nrotel='" & vbtelefono & "'"

o

sql = "SELECT * FROM clientes WHERE cli_nrotel='" & vbtelefono & "'"

' lo que falla, es si es de tipo texto te faltan las comillas ' simples ', para que el contenido de vbtelefono lo pase como una cadena de texto, te lo pongo con espacios para que se vea mas claro

cli_nrotel=' " & vbtelefono & " ' "

'pero no pongas los espacios, si quieres copiala directamente de aqui.

Un saludo, espero que solo sea eso el error.
__________________
Alguien sabe como es?
  #6 (permalink)  
Antiguo 22/06/2004, 18:15
 
Fecha de Ingreso: abril-2004
Ubicación: Cdoro. Rivadavia
Mensajes: 83
Antigüedad: 20 años
Puntos: 0
solucionado

Gracias por tu ayuda Fonsypool, al fin pude hacerlo funcionar con la siguiente consulta.
Era solo un error de sintaxis
El código completo me quedó así:

Private Sub Form_Load()

Dim conexion As New ADODB.Connection

Dim record As New ADODB.Recordset
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strConn = strConn & "D:\materiales de estudio\viba\taxicom\clientes.mdb"
conexion.ConnectionString = strConn
conexion.Open
Set record = conexion.Execute("Select * from clientes where cli_nrotel = '" & vgtelefono & "'")

lblnrotel.Caption = record!cli_nrotel
lblnombre.Caption = record!cli_apellido + ", " + record!cli_nom
lbldireccion.Caption = record!cli_dir
End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:30.