Hola, soy un principiante en vb(como se daran cuenta al leer esto). Si, ya se que esto es algo muy básico y de lo cual podria encontrar informacion buscando, de hecho eso hice:
Resulta que tengo un msflexgrid que muestra una base de datos access, y lo que quiero es eliminar la fila que yo seleccione con el mouse o escribiendo el Id del registro en un textbox(cuaquiera de los 2 sirve).
El problema es que el actual codigo que tengo solo elimina la ultima fila y no la que yo quiero:
Código:
MSFlexGrid1.RemoveItem (MSFlexGrid1.Rows)
Ahora tambien tengo otro:
Código:
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Private Sub Command1_Click()
With MSFlexGrid1
If .Row <= 0 Then
MsgBox " No hay ninguna fila seleccionada para eliminar ", vbExclamation
Exit Sub
End If
El_Dato = .TextMatrix(.Row, 1)
Sql = "DELETE * FROM " & Clientes & " WHERE " & cod & "=" & El_Dato
If MsgBox("Eliminar el Registro ?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
Cnn.Execute Sql
.Redraw = False
Set .DataSource = Nothing
Rst.Requery
Set .DataSource = Rst
.Redraw = True
End With
End Sub
Private Sub Form_Load()
Dim path_bd As String
path_bd = App.Path & "\mibd.mdb"
With MSFlexGrid1
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
path_bd & ";Persist Security Info=False"
Set Rst = New ADODB.Recordset
Rst.Open "DELETE FROM CLIENTES ", Cnn, _
adOpenDynamic, adLockBatchOptimistic, adCmdText
Set .DataSource = Rst
.SelectionMode = flexSelectionByRow
Command1.Caption = " Eliminar registro "
End With
End Sub
La tabla es "clientes" y el campo es "cod".
Y claro, aca me bota el siguiente error:
" Error de sintaxis (falta operador) en la expresión de consulta 'cod & =' ".
Puedo suponer que se refiere a que le envio algo que no existe, pero en ese caso quisiera saber que es.
En fin, si alguien pudiese darme un codigo y explicarmelo, o corregir el que puse, se lo agradeceria muchisimo.