Ver una base de datos en una grilla como dbgrid y poder modificar los datos.

Faisal Jalit
01 de Noviembre del 2003
hola nesecitaria:
Ver una base de datos en una grilla como dbgrid y poder modificar los datos en esa grilla. Por favor envien la respuesta a mi email [email protected]

Alfonso
01 de Noviembre del 2003
Mira no estoy muy seguro de lo que quieres pero creo que lo que tienes que hacer es vaciar los datos de la base de datos al grid o grilla como dices y para modificarlos seria seleccionarlos y que al momento d darle clic se pasen a una forma para modificarlos.

¿como lo haces?
Mira supongamos que es una bd de clientes el codigo es el siguiente:
Private Sub Form_Load() (en el load donde esta el grid)
If RSREGISTRO.State = 1 Then
RSREGISTRO.Close
End If

SQLSELECT = "SELECT * FROM CATALOGOCLIENTES"
Set RSREGISTRO = CNCONECTAR.Execute(SQLSELECT)
x = 1
Do While Not RSREGISTRO.EOF

GrdClientes.TextMatrix(x, 0) = RSREGISTRO!CLAVE
GrdClientes.TextMatrix(x, 1) = RSREGISTRO!NOMBRE
GrdClientes.TextMatrix(x, 2) = RSREGISTRO!DIRECCION
GrdClientes.TextMatrix(x, 3) = RSREGISTRO!CIUDAD
GrdClientes.TextMatrix(x, 4) = RSREGISTRO!TELEFONO
GrdClientes.Rows = GrdClientes.Rows + 1
x = x + 1
RSREGISTRO.MoveNext
Loop
GrdClientes.TextMatrix(0, 0) = "CLAVE"
GrdClientes.TextMatrix(0, 1) = "NOMBRE"
GrdClientes.TextMatrix(0, 2) = "DIRECCION"
GrdClientes.TextMatrix(0, 3) = "CIUDAD"
GrdClientes.TextMatrix(0, 4) = "TELEFONO"

GrdClientes.ColWidth(0) = 1000
GrdClientes.ColWidth(1) = 2000
GrdClientes.ColWidth(2) = 1600
GrdClientes.ColWidth(3) = 1600
GrdClientes.ColWidth(4) = 1600

End Sub

(este codigo es para activar menu con el boton secundario del mouse en elgrid)

Private Sub GrdClientes_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
GrdClientes.Row = GrdClientes.MouseRow
If Trim(GrdClientes.TextMatrix(GrdClientes.Row, 0)) = "" Or GrdClientes.Row = 0 Then
ELIMINAR.Enabled = False
MODIFICAR.Enabled = False
AGREGAR.Enabled = True
Else
ELIMINAR.Enabled = True
MODIFICAR.Enabled = True
AGREGAR.Enabled = False
End If
PopupMenu MENU, 2

End If
End Sub


esta parte de codigo va en el evento eliminar
Private Sub MODIFICAR_Click()
CLIENTES.Show

SQLSELECT = "SELECT * FROM CATALOGOCLIENTES WHERE CLAVE='" & GrdClientes.TextMatrix(GrdClientes.Row, 0) & "'"
Set RSREGISTRO = CNCONECTAR.Execute(SQLSELECT)

If Not RSREGISTRO.EOF Then
CLIENTES.TXTCLAVE = RSREGISTRO!CLAVE
CLIENTES.TXTNOMBRE = RSREGISTRO!NOMBRE
CLIENTES.TXTDIRECCION = RSREGISTRO!DIRECCION
CLIENTES.TXTCIUDAD = RSREGISTRO!CIUDAD
CLIENTES.TXTTELEFONO = RSREGISTRO!TELEFONO
CLIENTES.Show
CLIENTES.CMDAGREGAR.Enabled = False
Unload Me
End If
End Sub


y este es en realidad el codigo que te elimina
Private Sub ELIMINAR_Click()
SQLSELECT = "SELECT * FROM CATALOGOCLIENTES WHERE CLAVE='" & GrdClientes.TextMatrix(GrdClientes.Row, 0) & "'"
Set RSREGISTRO = CNCONECTAR.Execute(SQLSELECT)
RESPUESTA = MsgBox("ESTAS SEGURO DE ELIMINAR?", vbOKCancel)
If RESPUESTA = vbOK Then
SQLDELETE = "DELETE * FROM CATALOGOCLIENTES WHERE CLAVE='" & GrdClientes.TextMatrix(GrdClientes.Row, 0) & "'"
CNCONECTAR.Execute SQLDELETE
MsgBox "SE ELIMINARA EL REGISTRO SELECCIONADO"
GrdClientes.TextMatrix(GrdClientes.Row, 0) = ""
GrdClientes.TextMatrix(GrdClientes.Row, 1) = ""
GrdClientes.TextMatrix(GrdClientes.Row, 2) = ""
GrdClientes.TextMatrix(GrdClientes.Row, 3) = ""
GrdClientes.TextMatrix(GrdClientes.Row, 4) = ""

End If
End Sub

Bueno espero que te alla entendido lo que ocupabas y espero que te sirva de algo
Saludos