ayuda urgente
hola a todos alguien q me ayude hice una coneccion de visual a sql y guarde datos hice otro form y envie a guardar informacion a otra tabla y me sale dice q requiere de un objeto OLE DB ocupo la misma variable bueno mi otra pregunta es porque cuando a guarda la fecha en sql me coge 01/01/190, alguie q quiera ayudarme escribir a mi correo y yo le enviare el codigo de visual para q analice bien mi pregunta primera, saludos a todos
no te entiendo muy bien pero creo que el erroe es porque deverias de usar otro recordtset.
tienes una conexion
Public ADOCONN As New ADODB.Connection
y varios recordtset
Public RST_NIVEL As New Recordset \'NIVEL
Public RST_CHKNIVEL As New Recordset \'CHECAR
Public RST_MODNIVEL As New Recordset \'MODIFICAR
Public RST_SECCION As New Recordset \'SECCIONES*
Public Function conex()
ADOCONN.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=INCENTIVOS;Data Source=HIGHLIFE"
ADOCONN.Open
End Function
Public Function desconectar()
ADOCONN.Close
End Function
y cada recordtset sirbe para lo que tu quieras
solo abres y cierras la conexion
este es un ejemplo
Function chk_op_SA(CVLE As String, CVLOP As String, TIPO As String) As String \'DATOS PARA ACTUALIZA CON COMPARACION
conex
RST_CHK_OP.Source = "SELECT*From TB_SABADO WHERE (CVL_EMPLEADO = " & CVLE & ") AND (CVL_OPERACION = \'" & CVLOP & "\') AND (TIPO_OP = \'" & TIPO & "\') "
RST_CHK_OP.ActiveConnection = ADOCONN
RST_CHK_OP.Open
If Not RST_CHK_OP.EOF Then
chk_op_SA = RST_CHK_OP.Fields("num_prendas")
RST_CHK_OP.Close
desconectar
Else
RST_CHK_OP.Close
desconectar
End If
End Function
tambien puedes usar mas de un r en las operaciones
ejemplo2
Private Sub Txt_CvlEmpleado_KeyPress(KeyAscii As Integer)
Call numerosEMP(KeyAscii)
Dim I As Integer
Dim J As Integer
Dim valc As Integer
Dim ma As Integer
Dim c As Integer
I = 0
J = 0
ma = 0
valc = 0
If Txt_CvlEmpleado.Text <> "" Then
If KeyAscii = 13 Then
conex
RST_SECCION.Source = "SELECT DISTINCT TB_EMPLEADO.NOMBRE_COMPLETO, TB_EMPLEADO.S_DIARIO, TB_EMPLEADO.PUESTO, TB_EMPLEADO.CVL_NIVEL, TB_EMPLEADO.CVL_SECCION,TB_NIVEL.DESCRIPCION, TB_SECCIONES.DESCRIPCION AS Expr1 FROM TB_EMPLEADO INNER JOIN TB_NIVEL ON TB_EMPLEADO.CVL_NIVEL = TB_NIVEL.CVL_NIVEL CROSS JOIN TB_EMPLEADO TB_EMPLEADO_1 INNER JOIN TB_SECCIONES ON TB_EMPLEADO.CVL_SECCION = TB_SECCIONES.CVL_SECCION WHERE TB_EMPLEADO.CVL_EMPLEADO=\'" & Txt_CvlEmpleado.Text & "\';"
RST_SECCION.ActiveConnection = ADOCONN
RST_SECCION.Open
If Not RST_SECCION.EOF Then
Txt_Nivel.Text = RST_SECCION.Fields("DESCRIPCION")
Txt_Sec.Text = RST_SECCION.Fields("Expr1")
Txt_Nombre.Text = RST_SECCION.Fields("NOMBRE_COMPLETO")
Txt_Empleo.Text = RST_SECCION.Fields("PUESTO")
RST_SECCION.Close
RST_OPER_EMP.Source = "SELECT *, TB_OPERACCION.DESCRIPCION AS Expr1, TB_OPERACCION.STD AS Expr2 FROM TB_EMPL_OPER INNER JOIN TB_OPERACCION ON TB_EMPL_OPER.CVL_OPERACION = TB_OPERACCION.CVL_OPERACION Where (TB_EMPL_OPER.CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ")"
RST_OPER_EMP.ActiveConnection = ADOCONN
RST_OPER_EMP.Open
While Not RST_OPER_EMP.EOF
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("CVL_OPERACION")
I = I + 1
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("TIPO_OP")
I = I + 1
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("STD")
I = I + 1
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("DESCRIPCION")
I = I + 1
\'*****************LUNES****************************
RST_OPPER_IN2.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_LUNES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPPER_IN2.ActiveConnection = ADOCONN
RST_OPPER_IN2.Open
If Not RST_OPPER_IN2.EOF = True Then
FRM_CAPTURA.Text1(I).Text = RST_OPPER_IN2.Fields("NUM_PRENDAS")
I = I + 1
RST_OPPER_IN2.MoveNext
Else
I = I + 1
End If
\'\' \'********************MARTES***********************
RST_OPERIN3.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_MARTES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPERIN3.ActiveConnection = ADOCONN
RST_OPERIN3.Open
If Not RST_OPERIN3.EOF = True Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN3.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN3.MoveNext
Else
I = I + 1
End If
\' \'*******************MIERCOLES*********************
RST_OPERIN4.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_MIERCOLES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\') "
RST_OPERIN4.ActiveConnection = ADOCONN
RST_OPERIN4.Open
If Not RST_OPERIN4.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN4.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN4.MoveNext
Else
I = I + 1
End If
\' \'********************JUEVES*************************
RST_OPERIN5.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_JUEVES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\') "
RST_OPERIN5.ActiveConnection = ADOCONN
RST_OPERIN5.Open
If Not RST_OPERIN5.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN5.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN5.MoveNext
Else
I = I + 1
End If
\' \'********************VIERNES***************************
RST_OPERIN6.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_VIERNES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPERIN6.ActiveConnection = ADOCONN
RST_OPERIN6.Open
If Not RST_OPERIN6.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN6.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN6.MoveNext
Else
I = I + 1
End If
\'
\' \'********************saBado***************************
RST_OPERIN7.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_SABADO WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPERIN7.ActiveConnection = ADOCONN
RST_OPERIN7.Open
If Not RST_OPERIN7.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN7.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN7.MoveNext
Else
I = I + 1
End If
\'\'
\'***********************FIN DE LOS DIAS DE LA SEMANA***************************************
J = J + 12
valc = valc + 12
I = valc
CUENTACVL = CUENTACVL + 1
RST_OPER_EMP.MoveNext
\'checar el aumento de las claves en i,j,y otra variable22""""""""""""""""""""""%&*6??666?6666?Ü???5??K?5?2??
RST_OPPER_IN2.Close
RST_OPERIN3.Close
RST_OPERIN4.Close
RST_OPERIN5.Close
RST_OPERIN6.Close
RST_OPERIN7.Close
Wend
desconectar
Call numeros(KeyAscii, I) \'ENTERaPERACIONES.,...........................
\'DATOS DE MULTIPLICACION POR EZ****************************************
Txt_efibt = Round((Val(FRM_CAPTURA.txt_efbLu.Text) + Val(FRM_CAPTURA.txt_fbma.Text) + Val(FRM_CAPTURA.txt_fbmi.Text) + Val(FRM_CAPTURA.txt_fbju.Text) + Val(FRM_CAPTURA.txt_fbvi.Text) + Val(FRM_CAPTURA.txt_fbsa.Text)) / 6)
Txt_efict = Round(((FRM_CAPTURA.txt_fclu.Text) + Val(FRM_CAPTURA.txt_fcma.Text) + Val(FRM_CAPTURA.txt_fcmi.Text) + Val(FRM_CAPTURA.txt_fcju.Text) + Val(FRM_CAPTURA.txt_fcvi.Text) + Val(FRM_CAPTURA.txt_fcsa.Text)) / 6)
\'*********************************************************
FRM_CAPTURA.Text1(I).SetFocus
Else
MsgBox "ERROR", vbCritical, "El Registro no Existe"
FRM_CAPTURA.Txt_CvlEmpleado.Text = ""
desconectar
Exit Sub
End If
End If
Else
End If
End Sub
espero que te sirba
la fecha en sql es dia/mes/añoç
y existen varios formatos de fecha eso se arregla con un campo de tipo datetime.
tienes una conexion
Public ADOCONN As New ADODB.Connection
y varios recordtset
Public RST_NIVEL As New Recordset \'NIVEL
Public RST_CHKNIVEL As New Recordset \'CHECAR
Public RST_MODNIVEL As New Recordset \'MODIFICAR
Public RST_SECCION As New Recordset \'SECCIONES*
Public Function conex()
ADOCONN.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=INCENTIVOS;Data Source=HIGHLIFE"
ADOCONN.Open
End Function
Public Function desconectar()
ADOCONN.Close
End Function
y cada recordtset sirbe para lo que tu quieras
solo abres y cierras la conexion
este es un ejemplo
Function chk_op_SA(CVLE As String, CVLOP As String, TIPO As String) As String \'DATOS PARA ACTUALIZA CON COMPARACION
conex
RST_CHK_OP.Source = "SELECT*From TB_SABADO WHERE (CVL_EMPLEADO = " & CVLE & ") AND (CVL_OPERACION = \'" & CVLOP & "\') AND (TIPO_OP = \'" & TIPO & "\') "
RST_CHK_OP.ActiveConnection = ADOCONN
RST_CHK_OP.Open
If Not RST_CHK_OP.EOF Then
chk_op_SA = RST_CHK_OP.Fields("num_prendas")
RST_CHK_OP.Close
desconectar
Else
RST_CHK_OP.Close
desconectar
End If
End Function
tambien puedes usar mas de un r en las operaciones
ejemplo2
Private Sub Txt_CvlEmpleado_KeyPress(KeyAscii As Integer)
Call numerosEMP(KeyAscii)
Dim I As Integer
Dim J As Integer
Dim valc As Integer
Dim ma As Integer
Dim c As Integer
I = 0
J = 0
ma = 0
valc = 0
If Txt_CvlEmpleado.Text <> "" Then
If KeyAscii = 13 Then
conex
RST_SECCION.Source = "SELECT DISTINCT TB_EMPLEADO.NOMBRE_COMPLETO, TB_EMPLEADO.S_DIARIO, TB_EMPLEADO.PUESTO, TB_EMPLEADO.CVL_NIVEL, TB_EMPLEADO.CVL_SECCION,TB_NIVEL.DESCRIPCION, TB_SECCIONES.DESCRIPCION AS Expr1 FROM TB_EMPLEADO INNER JOIN TB_NIVEL ON TB_EMPLEADO.CVL_NIVEL = TB_NIVEL.CVL_NIVEL CROSS JOIN TB_EMPLEADO TB_EMPLEADO_1 INNER JOIN TB_SECCIONES ON TB_EMPLEADO.CVL_SECCION = TB_SECCIONES.CVL_SECCION WHERE TB_EMPLEADO.CVL_EMPLEADO=\'" & Txt_CvlEmpleado.Text & "\';"
RST_SECCION.ActiveConnection = ADOCONN
RST_SECCION.Open
If Not RST_SECCION.EOF Then
Txt_Nivel.Text = RST_SECCION.Fields("DESCRIPCION")
Txt_Sec.Text = RST_SECCION.Fields("Expr1")
Txt_Nombre.Text = RST_SECCION.Fields("NOMBRE_COMPLETO")
Txt_Empleo.Text = RST_SECCION.Fields("PUESTO")
RST_SECCION.Close
RST_OPER_EMP.Source = "SELECT *, TB_OPERACCION.DESCRIPCION AS Expr1, TB_OPERACCION.STD AS Expr2 FROM TB_EMPL_OPER INNER JOIN TB_OPERACCION ON TB_EMPL_OPER.CVL_OPERACION = TB_OPERACCION.CVL_OPERACION Where (TB_EMPL_OPER.CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ")"
RST_OPER_EMP.ActiveConnection = ADOCONN
RST_OPER_EMP.Open
While Not RST_OPER_EMP.EOF
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("CVL_OPERACION")
I = I + 1
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("TIPO_OP")
I = I + 1
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("STD")
I = I + 1
FRM_CAPTURA.Text1(I).Text = RST_OPER_EMP.Fields("DESCRIPCION")
I = I + 1
\'*****************LUNES****************************
RST_OPPER_IN2.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_LUNES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPPER_IN2.ActiveConnection = ADOCONN
RST_OPPER_IN2.Open
If Not RST_OPPER_IN2.EOF = True Then
FRM_CAPTURA.Text1(I).Text = RST_OPPER_IN2.Fields("NUM_PRENDAS")
I = I + 1
RST_OPPER_IN2.MoveNext
Else
I = I + 1
End If
\'\' \'********************MARTES***********************
RST_OPERIN3.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_MARTES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPERIN3.ActiveConnection = ADOCONN
RST_OPERIN3.Open
If Not RST_OPERIN3.EOF = True Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN3.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN3.MoveNext
Else
I = I + 1
End If
\' \'*******************MIERCOLES*********************
RST_OPERIN4.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_MIERCOLES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\') "
RST_OPERIN4.ActiveConnection = ADOCONN
RST_OPERIN4.Open
If Not RST_OPERIN4.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN4.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN4.MoveNext
Else
I = I + 1
End If
\' \'********************JUEVES*************************
RST_OPERIN5.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_JUEVES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\') "
RST_OPERIN5.ActiveConnection = ADOCONN
RST_OPERIN5.Open
If Not RST_OPERIN5.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN5.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN5.MoveNext
Else
I = I + 1
End If
\' \'********************VIERNES***************************
RST_OPERIN6.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_VIERNES WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPERIN6.ActiveConnection = ADOCONN
RST_OPERIN6.Open
If Not RST_OPERIN6.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN6.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN6.MoveNext
Else
I = I + 1
End If
\'
\' \'********************saBado***************************
RST_OPERIN7.Source = "SELECT NUM_PRENDAS, MIN_PRENDAS From TB_SABADO WHERE (CVL_EMPLEADO = " & Txt_CvlEmpleado.Text & ") AND (CVL_OPERACION = \'" & (Text1(J).Text) & "\')and (tipo_op = \'" & (Text1(J + 1).Text) & "\')"
RST_OPERIN7.ActiveConnection = ADOCONN
RST_OPERIN7.Open
If Not RST_OPERIN7.EOF Then
FRM_CAPTURA.Text1(I).Text = RST_OPERIN7.Fields("NUM_PRENDAS")
I = I + 1
RST_OPERIN7.MoveNext
Else
I = I + 1
End If
\'\'
\'***********************FIN DE LOS DIAS DE LA SEMANA***************************************
J = J + 12
valc = valc + 12
I = valc
CUENTACVL = CUENTACVL + 1
RST_OPER_EMP.MoveNext
\'checar el aumento de las claves en i,j,y otra variable22""""""""""""""""""""""%&*6??666?6666?Ü???5??K?5?2??
RST_OPPER_IN2.Close
RST_OPERIN3.Close
RST_OPERIN4.Close
RST_OPERIN5.Close
RST_OPERIN6.Close
RST_OPERIN7.Close
Wend
desconectar
Call numeros(KeyAscii, I) \'ENTERaPERACIONES.,...........................
\'DATOS DE MULTIPLICACION POR EZ****************************************
Txt_efibt = Round((Val(FRM_CAPTURA.txt_efbLu.Text) + Val(FRM_CAPTURA.txt_fbma.Text) + Val(FRM_CAPTURA.txt_fbmi.Text) + Val(FRM_CAPTURA.txt_fbju.Text) + Val(FRM_CAPTURA.txt_fbvi.Text) + Val(FRM_CAPTURA.txt_fbsa.Text)) / 6)
Txt_efict = Round(((FRM_CAPTURA.txt_fclu.Text) + Val(FRM_CAPTURA.txt_fcma.Text) + Val(FRM_CAPTURA.txt_fcmi.Text) + Val(FRM_CAPTURA.txt_fcju.Text) + Val(FRM_CAPTURA.txt_fcvi.Text) + Val(FRM_CAPTURA.txt_fcsa.Text)) / 6)
\'*********************************************************
FRM_CAPTURA.Text1(I).SetFocus
Else
MsgBox "ERROR", vbCritical, "El Registro no Existe"
FRM_CAPTURA.Txt_CvlEmpleado.Text = ""
desconectar
Exit Sub
End If
End If
Else
End If
End Sub
espero que te sirba
la fecha en sql es dia/mes/añoç
y existen varios formatos de fecha eso se arregla con un campo de tipo datetime.
