Problemas con visual basic
Hola, mira te explico, estoy realizando un programa en Visual Basic 6.0, y base de dato en access, con la conexión a la base de datos no tengo problemas, tampoco para ingresar los datos a una determinada tabla. El problema está en que en Userform he creado un DataGrid, para poder obtener el código de un cliente, y el código de película, para esto en el userform he creado dos cuadros de texto, uno donde se debe ingresar el código del cliente y otro donde se ingresa el código de película. Dentro de cada textbox respectivamente he escrito el siguiente código:
Código cliente
Private Sub CodCli_LostFocus()
If CodCli.Text <> "" Then
TablaClientes.Index = "ClaveCli"
TablaClientes.Seek " = ", Val(CodCli)
If TablaClientes.NoMatch = True Then
MsgBox "Cliente no existe", vbCritical
CodCli.Text = ""
CodCli.SetFocus
End If
End If
End Sub
Codigo pelicula
Private Sub NumPel_LostFocus()
If NumPel.Text <> "" Then
TablaPelículas.Index = "ClavePel"
TablaPelículas.Seek " = ", Val(NumPel)
If TablaPelículas.NoMatch = True Then
MsgBox "Película no existe", vbCritical
NumPel.Text = ""
NumPel.SetFocus
End If
End If
End Sub
Y en el botón Aceptar de mi userform, lo que quiero conseguir es que me envíe esos datos a la tabla arriendos, y también me refleje en el DataGrid tanto el código de cliente, como el de película, y otros datos que son fechas.
Codigo boton aceptar
Private Sub Aceptar_Click()
Dim ISQL As String
If CodCli.Text <> "" And NumPel.Text <> "" Then
ISQL = "SELECT * FROM Arriendos WHERE CodCli = " & Val(CodCli) & " AND NumPel = " & Val(NumPel)
Adodc1.RecordSource = ISQL
Adodc1.Refresh
Else
If CodCli = "" Then CodCli.SetFocus
If NumPel = "" Then
NumPel.SetFocus
End If
End If
End Sub
También he creado la siguiente función para crear el registro de arriendos
Function CreaRegistroArriendos()
TablaArriendos.AddNew
TablaArriendos.Fields("CodCli") = Val(CodCli)
TablaArriendos.Fields("NumPel") = Val(NumPel)
TablaArriendos.Fields("FecAlq") = Date
TablaArriendos.Fields("FecDev") = Date
TablaArriendos.Fields("Recargo") = 0
TablaArriendos.Update
End Function
El problema es que al intentar ingresar un dato en el textbox de código de cliente y código de película, no puedo, ya que al teclarlo me sale el error 3001 "ARGUMENTO NO VÁLIDO"
¿Me podrías explicar a que se debe ese error? Y alguna solución de arreglo.
PD: Con la conexión a la base de datos no tengo problemas.
Bueno, espero me respondas pronto. Gracias
Código cliente
Private Sub CodCli_LostFocus()
If CodCli.Text <> "" Then
TablaClientes.Index = "ClaveCli"
TablaClientes.Seek " = ", Val(CodCli)
If TablaClientes.NoMatch = True Then
MsgBox "Cliente no existe", vbCritical
CodCli.Text = ""
CodCli.SetFocus
End If
End If
End Sub
Codigo pelicula
Private Sub NumPel_LostFocus()
If NumPel.Text <> "" Then
TablaPelículas.Index = "ClavePel"
TablaPelículas.Seek " = ", Val(NumPel)
If TablaPelículas.NoMatch = True Then
MsgBox "Película no existe", vbCritical
NumPel.Text = ""
NumPel.SetFocus
End If
End If
End Sub
Y en el botón Aceptar de mi userform, lo que quiero conseguir es que me envíe esos datos a la tabla arriendos, y también me refleje en el DataGrid tanto el código de cliente, como el de película, y otros datos que son fechas.
Codigo boton aceptar
Private Sub Aceptar_Click()
Dim ISQL As String
If CodCli.Text <> "" And NumPel.Text <> "" Then
ISQL = "SELECT * FROM Arriendos WHERE CodCli = " & Val(CodCli) & " AND NumPel = " & Val(NumPel)
Adodc1.RecordSource = ISQL
Adodc1.Refresh
Else
If CodCli = "" Then CodCli.SetFocus
If NumPel = "" Then
NumPel.SetFocus
End If
End If
End Sub
También he creado la siguiente función para crear el registro de arriendos
Function CreaRegistroArriendos()
TablaArriendos.AddNew
TablaArriendos.Fields("CodCli") = Val(CodCli)
TablaArriendos.Fields("NumPel") = Val(NumPel)
TablaArriendos.Fields("FecAlq") = Date
TablaArriendos.Fields("FecDev") = Date
TablaArriendos.Fields("Recargo") = 0
TablaArriendos.Update
End Function
El problema es que al intentar ingresar un dato en el textbox de código de cliente y código de película, no puedo, ya que al teclarlo me sale el error 3001 "ARGUMENTO NO VÁLIDO"
¿Me podrías explicar a que se debe ese error? Y alguna solución de arreglo.
PD: Con la conexión a la base de datos no tengo problemas.
Bueno, espero me respondas pronto. Gracias
1 respuesta
Respuesta de Roberto Alvarado
-1
