Hoal Amigos
Bueno, estoy desarrollado un Programa y transfiero Datos de un Form a Otros. ¿Como Funciona?
Bien, mira
Form3 tiene 7 TextBox y está conectado a una BD. Tambien este Form tiene varios Botones como son (Editar - Guardar - Buscar)
En
Form7 está compuesto por: 1DBList y un Boton. Tambien por un Data.
En este DBlist se visualizan los Nombres de las Personas que estan en la BD.
Ahora. Cuando entro al
Form7 que le doy a
Buscar me sale ese Form. Despues coje y me sale la lista con los Nombres seleccione uno y cuando le doy a Aceptar automaticamente me lo envia al
Form3 al TextBox (txtNombre) y despues automaticamente graciasa SQL el Form busca los Datos de ese Nombre y los Visualiza en los demas TextBox. Asta ahí vamos Bien. Despues le doy a Editar y todo bien. Se actiba el
cmdGuardar y hago las Modificaciones y cuando le doy a Guardar me salo lo siguiente:
Despues cuando le doy Depurar me sale lo Siguiente:
Para Conectarme a mi BD estoy utilizando el Siguiente Código:
Código PHP:
Dim Cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
Private Sub cmdBuscar_Click()
On Local Error Resume Next
Load Form7
Form7.Show vbModal
txtNombre = Nombre
sql = "select Nombre,Telefono,Celular,Fax,Email,Direccion from Directorio where Nombre like '%" & txtNombre.Text & "%'"
Set rs = Cn.Execute(sql)
If rs.BOF = True Then
MsgBox " No Existen registros "
Else
txtNombre.Text = rs!Nombre
txtTelefono.Text = rs!telefono
txtCelular.Text = rs!celular
txtFax.Text = rs!fax
txtEmail.Text = rs!email
txtDireccion.Text = rs!direccion
End If
End Sub
Private Sub cmdSalir_Click()
Unload Me
Load Form1
Form1.Show vbModal
End Sub
Private Sub cmdEditar_Click()
If Trim(txtNombre.Text) = "" Then
MsgBox "Debe escribir el nombre del Contácto.", vbInformation, "Información"
txtNombre.SetFocus
Exit Sub
End If
ModoEditar True
End Sub
Private Sub CmdGuardar_Click()
If Trim(txtNombre.Text) = "" Then
MsgBox "Debe escribir el nombre del Contácto.", vbInformation, "Información"
txtNombre.SetFocus
Exit Sub
End If
rs.Update
ModoEditar False
End Sub
Private Sub Form_Load()
ModoEditar False
Cn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\Directorio.mdb ;Admin=Admin;Pwd=896576560;"
rs.CursorType = adOpenKeyset
rs.Open "Select * From Directorio", Cn, adOpenStatic, adLockOptimistic
Label8.Caption = rs.RecordCount & " Contactos Agregados a su lista"
Set txtNombre.DataSource = rs
txtNombre.DataField = "Nombre"
Set txtTelefono.DataSource = rs
txtTelefono.DataField = "Telefono"
Set txtCelular.DataSource = rs
txtCelular.DataField = "Celular"
Set txtFax.DataSource = rs
txtFax.DataField = "Fax"
Set txtEmail.DataSource = rs
txtEmail.DataField = "Email"
Set txtDireccion.DataSource = rs
txtDireccion.DataField = "Direccion"
If Ok Then txtNombre.SetFocus
rs.AddNew
End Sub
Private Sub ModoEditar(ByVal Ok As Boolean)
txtNombre.Locked = Not Ok
txtTelefono.Locked = Not Ok
txtCelular.Locked = Not Ok
txtFax.Locked = Not Ok
txtEmail.Locked = Not Ok
txtDireccion.Locked = Not Ok
cmdBuscar.Enabled = Not Ok
cmdEditar.Enabled = Not Ok
cmdGuardar.Enabled = Ok
cmdSalir.Enabled = Not Ok
cmdAyuda.Enabled = Not Ok
If Ok Then txtNombre.SetFocus
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cn.Close
Set Cn = Nothing
End Sub
Lo mismo me pasa a la hora de Borrar. El codigo del Boton cmdEliminar es:
Código PHP:
Private Sub CmdEliminar_Click()
If Trim(txtNombre.Text) = "" Then
MsgBox "No hay Registros", vbInformation, "Información"
txtNombre.SetFocus
Exit Sub
End If
rs.Delete
If rs.EOF Then
rs.MoveLast
End If
Unload Me
Load Form4
Form4.Show vbModal
End Sub
Pero en vez de
rs.Update es:
Como Arreglo esto.
Saludos