Ver una base de datos en una grilla como dbgrid y poder modificar los datos.
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]
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]
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
¿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
