RE:DataGrid - Seleccion de registro para edicion
Aqui te va un pequeño ejemplo de una plicacion que diseñe espero te sirva
'Declaracion de Variables
Dim i As Integer
Dim Criteria As String
Dim GConnection As String
Dim reg As ADODB.Recordset
On Error GoTo Captura: ' si ocurre un error ir a etiqueta
i = Grid1.Row ' Asigno la fila del DataGrid
Criteria = Val(Trim$(Grid1.TextMatrix(i, 1)))' asigno el valor de la fila seleccionada el campo que necesito esta en la columna 1
GConnection = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Control_Previo;Data Source=CPWR"
Set reg = New ADODB.Recordset
'rfact.BeginTrans
'Aqui se hace la busqueda en la tabla segun el dato de la fila seleccionada
reg.Open "SELECT * FROM ajustes WHERE idajuste =" & Criteria, GConnection, adOpenDynamic, adLockOptimistic
If reg.EOF And reg.BOF Then
MsgBox "seleccione otro registro de la fila", vbInformation, "No coincide"
Else
Load FrmAgregarAjuste ' cargo el formulario que mostrara los datos
Desbloquear
modi = True
On Error Resume Next
'Asigno los valores al formulario para que muestre los datos
FrmAgregarAjuste.LblId.Caption = reg!idajuste
FrmAgregarAjuste.Lblfechaajuste.Caption = reg!fechaajuste
FrmAgregarAjuste.TxtFechaOs.Text = reg!fechaos
FrmAgregarAjuste.TxtOS.Text = reg!OS
FrmAgregarAjuste.TxtMontoI.Text = reg!montoinicial
FrmAgregarAjuste.TxtMontoF.Text = reg!montofinal
FrmAgregarAjuste.LblI.Caption = reg!incremento
FrmAgregarAjuste.LblD.Caption = reg!disminucion
FrmAgregarAjuste.TxtMotivo.Text = reg!motivo
frmagregarajuste.show ' muestro el formulario con los datos ya cargados
End If
Captura:
If Err Then 'si se produjo algun error entrara aqui
reg.Close
MsgBox "Se ha producido el Error Nº " & Err.Number & " Motivo " & Err.Description, vbCritical, " Se produjeron errores" 'esto te mostrara el error
End If
'reg.Close
espero sea de tu ayuda salu2