en fin explico mi nuevo problema...
Problema: Quiero guardar unos datos en la bases de datos "estoy trabajando con MySql" el problema es que cuando intento guardar me dice que no hay suficientes argumentos pues lógico que es porque falta cosas pero decidí hacer una nueva tabla con solo 2 campos y persiste el problema y creo que es un error en el código se los agradecería si me pudieran ayudar de nuevo para que me digan en que estoy fallando aquí les muestro lo que tengo del código..
Modulo: Conexión
BD: fames
tabla: docente
campos: id_docente<--("Auto Incrementable"), nombre_docente (char)
Public Sub conectar()
cn.Type = "mysql"
cn.Host = "localhost"
cn.Login = "****"
cn.Password = "*******"
cn.Name = "fames"
Try cn.Open
If Error Then
Message.Error("Error en la conexion a Base de Datos " & cn.name)
Endif
End
Public Function EjecutaSQLRV(sentencia As String) As Variant
Dim valor As String
Try rs = cn.Exec(sentencia)
If Error Then
Message.Error("Error Ejecutando la sentencia " & sentencia)
Endif
If rs.Available Then
valor = rs[0]
Return valor
End If
End
cn.Type = "mysql"
cn.Host = "localhost"
cn.Login = "****"
cn.Password = "*******"
cn.Name = "fames"
Try cn.Open
If Error Then
Message.Error("Error en la conexion a Base de Datos " & cn.name)
Endif
End
Public Function EjecutaSQLRV(sentencia As String) As Variant
Dim valor As String
Try rs = cn.Exec(sentencia)
If Error Then
Message.Error("Error Ejecutando la sentencia " & sentencia)
Endif
If rs.Available Then
valor = rs[0]
Return valor
End If
End
*************Conexion a la abse de datos********** hasta aquí todo va bien porque incluso pude hacer la validación de usuario y contraseña pero ingresando los datos manualmente..
****Función para guardar**********
Public Function DatosBasicos(operacion As Integer, id_docente As Integer, docentes As String)
Dim s As String
conexion.cn.Exec(s)
s = IIf(operacion = -1, "INSERT INTO fames SET ", " UPDATE fames SET")
s = s & "id_docente='" & id_docente& "', "
s = s & "nombre_docente='" & docentes.Text & "', "
If (operacion <> -1) Then
s = s & " where id= " & conexion.ID
End If
If operacion = -1 Then
conexion.ID = Val("0" & conexion.EjecutaSQLRV("Select Max(id) from institucion "))
End If
End
Dim s As String
conexion.cn.Exec(s)
s = IIf(operacion = -1, "INSERT INTO fames SET ", " UPDATE fames SET")
s = s & "id_docente='" & id_docente& "', "
s = s & "nombre_docente='" & docentes.Text & "', "
If (operacion <> -1) Then
s = s & " where id= " & conexion.ID
End If
If operacion = -1 Then
conexion.ID = Val("0" & conexion.EjecutaSQLRV("Select Max(id) from institucion "))
End If
End
****************boton guardar********************
Public Sub Form_Open()
conexion.conectar()
End
Public Sub Button1_Click()
Dim save As Variant
save = conexion.DatosBasicos("operacion, id_docentes, nombre_docente")'<-------- aquí es donde me presenta el problema donde dice que faltan argumentos "aunque esten los 2 que tengo"
If save.tag = 1 Then
conexion.DatosBasicos("-1, nombre.tex")
Message.Info("Se ha guardado ")
Else
conexion.DatosBasicos("conexion.ID, nombre.text")
Message.Info("Se ha modificado ")
Endif
End
conexion.conectar()
End
Public Sub Button1_Click()
Dim save As Variant
save = conexion.DatosBasicos("operacion, id_docentes, nombre_docente")'<-------- aquí es donde me presenta el problema donde dice que faltan argumentos "aunque esten los 2 que tengo"
If save.tag = 1 Then
conexion.DatosBasicos("-1, nombre.tex")
Message.Info("Se ha guardado ")
Else
conexion.DatosBasicos("conexion.ID, nombre.text")
Message.Info("Se ha modificado ")
Endif
End
bueno como les explique no me guarda y dice que faltan argumentos y me parece extraño porque solo tengo 2 campos id y nombre
nota: el texbox se llama: docente
les agradecería su ayuda de verdad...
Gracias
Saludos!