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

mshflexgrid y una consulta sql que no funciona

Estas en el tema de mshflexgrid y una consulta sql que no funciona en el foro de Bases de Datos General en Foros del Web. hola tengo que llenar un mshflexgrid con el resultado de un recorset pero la consulta sql me esta marcando un error espero puedan ayudarme aqui ...
  #1 (permalink)  
Antiguo 27/05/2004, 19:46
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 20 años
Puntos: 0
mshflexgrid y una consulta sql que no funciona

hola tengo que llenar un mshflexgrid con el resultado de un recorset pero la consulta sql me esta marcando un error espero puedan ayudarme aqui les dejo el codigo:

Dim conexion As ADODB.Connection: Set conexion = New ADODB.Connection
Dim recorset As ADODB.Recordset: Set recorset = New ADODB.Recordset
Me.MSHFlexGrid1.Visible = True
With conexion
.Provider = "MSDataShape.1"
.ConnectionString = "Data Source=" & "C:\carpeta\db.mdb;" _
& "Data Provider=Microsoft.Jet.OLEDB.4.0;"
.Open

With recorset
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
End With
Set recorset = .Execute("SHAPE {SELECT fecha As FECHA , id_num as NºUSUARIO, nombre as NOMBRE ,tomadas as TOMADAS,restantes as RESTANTES FROM clases where fecha='" & cdate(me.text4.text) & "'}")

End With

Set Me.MSHFlexGrid1.DataSource = recorset

Me.MSHFlexGrid1.ColWidth(0, 0) = 0
Me.MSHFlexGrid1.ColWidth(1, 0) = 1500
Me.MSHFlexGrid1.ColWidth(2, 0) = 1500
Me.MSHFlexGrid1.ColWidth(3, 0) = 2000
Me.MSHFlexGrid1.ColWidth(4, 0) = 1500
Me.MSHFlexGrid1.ColWidth(5, 0) = 1500

Me.MSHFlexGrid1.ColAlignment(1) = 3
Me.MSHFlexGrid1.ColAlignment(2) = 3
Me.MSHFlexGrid1.ColAlignment(3) = 3
Me.MSHFlexGrid1.ColAlignment(4) = 3
Me.MSHFlexGrid1.ColAlignment(5) = 3

Me.MSHFlexGrid1.ColAlignmentHeader(0, 3) = 3



End Sub
  #2 (permalink)  
Antiguo 27/05/2004, 19:59
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Colocas los With separados a ver si es eso. Si no lo es, pues, debes ser más explícito, que error te tira?

[CODE]
With conexion
.Provider = "MSDataShape.1"
.ConnectionString = "Data Source=" & "C:\carpeta\db.mdb;" _
& "Data Provider=Microsoft.Jet.OLEDB.4.0;"
.Open
End With

With recorset
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
End With

[CODE]
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #3 (permalink)  
Antiguo 28/05/2004, 11:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 20 años
Puntos: 0
Pues Ya Cambie Lo De Los With Pero Sigue Sin Funcionar Y Me Marca El Error De Que Hay Algo Mal Con La Sentecia Que Puede Ser Que Este Usando Una Palabra Reservada O Los Signos De PuntuaciÓn Estan Mal
  #4 (permalink)  
Antiguo 28/05/2004, 12:20
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
En que línea de te da el error?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #5 (permalink)  
Antiguo 29/05/2004, 22:01
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 20 años
Puntos: 0
en esta linea...

el error me lo marca en la sentencia de al busqueda de sql

Set recorset = .Execute("SHAPE {SELECT fecha As FECHA , id_num as NºUSUARIO, nombre as NOMBRE ,tomadas as TOMADAS,restantes as RESTANTES FROM clases where fecha='" & cdate(me.text4.text) & "'}")

en ocaciones ,e dice que los tipos de datos no coinciden y si lo modifico me dice que falta punots o la sentencia tiene una palabra reservada o algo asi
  #6 (permalink)  
Antiguo 30/05/2004, 21:24
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
No se para que se usa el shape en el select, pero quitando esto, yo haría el select asi:

recorset.Open = "SELECT fecha As FECHA , id_num as NºUSUARIO, nombre as NOMBRE ,tomadas as TOMADAS,restantes as RESTANTES FROM clases where fecha='" & cdate(me.text4.text) & "'",conexion,3,1
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #7 (permalink)  
Antiguo 30/05/2004, 21:25
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
por cierto la palabra NºUSUARIO, mejor usa NoUSUARIO, puede ser eso también
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #8 (permalink)  
Antiguo 01/06/2004, 18:06
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 20 años
Puntos: 0
gracias por todo pero ya resolvi el problema igual aqui pongo coo lo resolvi por si alguien algun dia se encuentra en la misma situción que yo:

NOTA*parece ser que para consulta de fechas sirve mejor el like en vez de =

Dim conexion As ADODB.Connection: Set conexion = New ADODB.Connection
Dim recorset As ADODB.Recordset: Set recorset = New ADODB.Recordset
Me.MSHFlexGrid1.Visible = True
With conexion
.Provider = "MSDataShape.1"
.ConnectionString = "Data Source=" & "C:\carpeta\mibasededatos.mdb;" _
& "Data Provider=Microsoft.Jet.OLEDB.4.0;"
.Open

With recorset
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
End With
Set recorset = .Execute("SHAPE {SELECT fecha As FECHA , FROM "mi tabla" WHERE fecha LIKE ' " & CDATE(ME.TEXT1.TEXT) & " ' }")

*creo que con esto alguien ya puede salir de un lio que se paresca al que me paso a mi

Set Me.MSHFlexGrid1.DataSource = recorset
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 05:23.