problema con el datagrid Hola!!!!
Estoy realizando una aplicancion en la cual uso ado, datagrid.
mi idea es inserta y modificar consultas, consigo q me inserte algunas consultas pero no todas encima me lo hace desordenadamente, y modificar no me deja hacer nada.
Dejo aqui el codigo haber si alguien me puede hechar una mano y consigue ver el error donde se encuentra, yo soi incapaz de verlo.
Codigo es el siguiente:
Option Explicit
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0: Call agregar
Case 1: Unload Me
Case 2: Call editar
End Select
End Sub
Private Sub Command2_Click()
Form3.Show
Unload Me
End Sub
Private Sub Form_Load()
Call iniciarconexion
rs.Open "select * from CartasIncidencias14_20", cnn, adopenstatic, adlockoptimistic
With DataGrid1
.AllowUpdate = False
End With
Call cargardatagrid(DataGrid1)
End Sub
Sub agregar()
With Form2
Form2.accion = agregar_registro
Form2.Text1(8) = Format(Date, "dd/mm/yyyy")
Form2.Show vbModal
DataGrid1.Refresh
End With
End Sub
Private Sub mod_Click()
Form3.Show
End Sub
Private Sub DataGrid1_DblClick()
Call editar
End Sub
Private Sub editar()
Dim i As Integer
If DataGrid1.Row = -1 Then Exit Sub
With Form2
For i = 1 To 10
.Text1(i).Text = rs(i)
Next
.Combo1 = rs(9)
.accion = editar_registro
.Show vbModal
DataGrid1.Refresh
End With
End Sub
-----------------------------------------------------
Option Explicit
Enum eaccion
agregar_registro = 0
editar_registro = 1
End Enum
Public accion As eaccion
Private Sub Command1_Click()
On Error GoTo errorsub
Select Case accion
Case editar_registro
rs(1) = Text1(1)
rs(2) = Text1(2)
rs(3) = Text1(3)
rs(4) = Text1(4)
rs(5) = Text1(5)
rs(6) = Text1(6)
rs(7) = Text1(7)
rs(8) = Text1(8)
rs(9) = Combo1
rs(10) = Text1(9)
Case agregar_registro
rs.AddNew
rs(1) = Text1(1)
rs(2) = Text1(2)
rs(3) = Text1(3)
rs(4) = Text1(4)
rs(5) = Text1(5)
rs(6) = Text1(6)
rs(7) = Text1(7)
rs(8) = Text1(8)
rs(9) = Combo1
rs(10) = Text1(9)
End Select
rs.Update
Unload Me
Set Form1 = Nothing
Exit Sub
errorsub:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Activate()
If Me.accion = agregar_registro Then
Me.Caption = "agregar nuevo registro"
ElseIf Me.accion = editar_registro Then
Me.Caption = "editar registro"
End If
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
----------------------------------------------------------------------
A continuacion el modulo q hago servir
Option Explicit
Public cnn As New ADODB.Connection
Public rs As New ADODB.Recordset
Sub main()
Form1.Show
End Sub
Sub cargardatagrid(dg As DataGrid)
dg.MarqueeStyle = dbgHighlightRow
Set dg.DataSource = rs
dg.Refresh
End Sub
Public Sub iniciarconexion()
With cnn
.CursorLocation = adUseClient
.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\cartas 14 & 20.mdb" & ";persist security info=false"
End With
End Sub
Sub Desconectar()
On Local Error Resume Next
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End Sub
Gracias de antemano por la ayuda que me puedan dar |