NotInList

Por favor quien me pueda colaborar, urgente...!
Necesito agregar un nuevo cliente en un formulario basado en una consulta, el código en vb aquí lo relaciono, con este código ingreso los datos de la compañía a la tabla clientes, pero los campos adicionales como Nombre del contacto, teléfono, dirección etc. No los guarda en la tabla clientes.
Private Sub IdCliente_NotInList(NewData As String, Response As Integer)
Dim intNewCustomer As Integer, strTitle As String
Dim intMsgDialog As Integer, strMsg As String
Const conClrWhite = 16777215
Const conNormal = 1
'Mostrar un mensaje para preguntar si el usuario desea agregar un nuevo cliente
strTitle = "Ese cliente no esta en la lista"
strMsg = "¿Desea crear un nuevo cliente?"
intMsgDialog = vbYesNo + vbExclamation
intNewCustomer = MsgBox(strMsg, intMsgDialog, strTitle)
If intNewCustomer = vbYes Then
'Quitar el texto de usuario introducido en el cuadro combinado y asignarlo al control "Nombre de compañia" y al control "destinatario"
DoCmd.DoMenuItem acFormBar, acEdit, acFile
Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("clientes")
rst.AddNew
rst!NombreCompañía = NewData
rst.Update
Response = acDataErrAdded
'Activar y mover el enfoque del IdCliente
IDCliente.Enabled = True
IDCliente.Locked = False
IDCliente.BackColor = conClrWhite
IDCliente.BorderStyle = conNormal
'Activar los otros controles de informacion del ciente
NombreContacto.Visible = False
NombreContacto1.Visible = True
Dirección.Visible = False
Dirección1.Visible = True
Ciudad.Visible = False
Ciudad1.Visible = True
Teléfono.Visible = False
Teléfono1.Visible = True
Else
'Mostrar el mensaje de error
Response = acDataErrDisplay
End If
End Sub
Muchas gracias quien me pueda colaborar,
Atentamente, Shirley Carrillo Z.
[email protected]

1 Respuesta

Respuesta
1
Si tu formulario esta basado en la tabla Clientes, podrías ir a un nuevo registro y rellenarlo:
Private Sub IdCliente_NotInList(NewData As String, Response As Integer)
Dim intNewCustomer As Integer, strTitle As String
Dim intMsgDialog As Integer, strMsg As String
Const conClrWhite = 16777215
Const conNormal = 1
'Mostrar un mensaje para preguntar si el usuario desea agregar un nuevo cliente
strTitle = "Ese cliente no esta en la lista"
strMsg = "¿Desea crear un nuevo cliente?"
intMsgDialog = vbYesNo + vbExclamation
intNewCustomer = MsgBox(strMsg, intMsgDialog, strTitle)
If intNewCustomer = vbYes Then
'Quitar el texto de usuario introducido en el cuadro combinado y asignarlo al control "Nombre de compañia" y al control "destinatario"
DoCmd.DoMenuItem acFormBar, acEdit, acFile
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec
Me!NombreCompañía = NewData
Response = acDataErrAdded
'Activar y mover el enfoque del IdCliente
IDCliente.Enabled = True
IDCliente.Locked = False
IDCliente.BackColor = conClrWhite
IDCliente.BorderStyle = conNormal
'Activar los otros controles de informacion del ciente
NombreContacto.Visible = False
NombreContacto1.Visible = True
Dirección.Visible = False
Dirección1.Visible = True
Ciudad.Visible = False
Ciudad1.Visible = True
Teléfono.Visible = False
Teléfono1.Visible = True
Else
'Mostrar el mensaje de error
Response = acDataErrDisplay
End If
End Sub
Una pregunta: porque tienes duplicados los controles NombreContacto, Dirección, ¿Ciudad y Teléfono?
Xavi
www.mvp-access.com
Le cree otro cuadro para que me muestre activa la ventana para introducir los nuevos datos.
Te cuento que el cambio que le hiciste al código no funcionó.
Te agradecería me colaboraras.
Shirley

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas