Problema con control datagrid

jseverino
28 de Diciembre del 2004
Hola, tengo el siguiente codigo, parece que anda pero cuando quiero asignar el recordset a un datagrid no me muestra nada.¿que puede ser? La base de datos y la conexion funcionan porque puedo almacenar en combo1.text un valor recuperado desde esta. Tambien use datagrid1.refresh pero sigue sin funcionar.
Si alguien me puede ayudar muchas gracias
Julio

Dim record As Recordset
Private Sub Command1_Click()

If Combo1.Text <> "" Then
Select Case Combo1.Text
Case "Aguas Argentinas"
servicio = 1
Case "Edesur"
servicio = 2
Case "MetroGas"
servicio = 3
Case "ABL"
servicio = 4
Case "Telefonica"
servicio = 5
End Select

num_fact = Text1.Text

If num_fact <> "" Then
Dim conexion As Connection
Set conexion = New Connection
Set record = New Recordset
conexion.Open ("Provider=Microsoft.Jet.Oledb.4.0;DATA SOURCE=C:Documents and SettingsAdministratorDesktopVisual Managerdatosdatos.mdb")

record.Open ("Select * from facturas where id_servicio=" & servicio), conexion, adOpenStatic, adLockOptimistic
If record.BOF And record.EOF Then
valor = MsgBox("No se ha encontrado la factura con el codigo " & num_fact & " en la base de datos", vbCritical, "Consulta de Facturas - Visual Manager")
record.Close
Else
Combo1.Text = record.Fields("prox_venc")
Set DataGrid1.DataSource = record 'aca esta el problema
DataGrid1.Refresh
End If
Else
valor = MsgBox("Ingrese un numero de factura", vbExclamation, "Consulta de Facturas - Visual Manager")
End If
Else
valor = MsgBox("Seleccione un servicio de la lista", vbCritical, "Consulta de Facturas - Visual Manager")
End If

End Sub

Private Sub Command2_Click()
Unload Me

End Sub


kipied
28 de Diciembre del 2004
¿No se supone que para enlazar el Data Grid debes asociarlo a Control Data??? (no directamente al recordset)

krizall
28 de Diciembre del 2004
segun tengo entendido solo se puede asociar si utiliza el control fisico, y por lo que veo esta utilizando solo codigo, asi que ese no es el problema

cual es???
no lo se, no he trabajado con ese control

mvallejos
28 de Diciembre del 2004
Agrega esto antes de record.Open
Record.CursorLocation = AdUseClient

ah, sacale el parametro adLockOptimistic, ya que adopenstatic en un cursor de solo lectura y no necesita bloqueos.

Saludos