Problema con fecha v/s sql
Hola, gusto en saludarte. Soy Ingeniero en Informática, pero tengo poca experienza en programación (Visual basic 6.0). Tengo el siguiente problema: Necesito cargar los datos de un Form a una base de datos SQL Server 2000, pero al presionar el comando grabar, me aparece el siguiente mensaje de error: Run-Time- 2147217913(80040e07) [Microsoft][ODBC SQL Server Driver] Sintax error converting datatime from character string. Debo indicar que la conexión con la base de datos es correcta, ya que al llamar los datos me los muestra en forma correcta en el Form.
El c÷odigo es el siguiente:
Declaraciones Generales
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim txtsql As String
Private Sub grabar_Click()
Dim con As New ADODB.Connection
con.Open ("dsn=bodega")
txtsql = ""
txtsql = "insert into movimiento(codigo,movimiento,nombre_producto,"
txtsql = txtsql & "unidad_medida,cantidad,"
txtsql = txtsql & "fecha_movimiento,distribucion,"
txtsql = txtsql & "stock_actual,stock_inicial,"
txtsql = txtsql & "solicitado,autorizado,"
txtsql = txtsql & "observaciones,hacia)"
txtsql = txtsql & "values('"
txtsql = txtsql & Combo2.Text + "','"
txtsql = txtsql & Text1.Text + "','"
txtsql = txtsql & Text2.Text + "','"
txtsql = txtsql & Text3.Text + "','"
txtsql = txtsql & Text10.Text + "','"
txtsql = txtsql & Text7.Text + "','"
txtsql = txtsql & Text11.Text + "','"
txtsql = txtsql & Text4.Text + "','"
txtsql = txtsql & Text5.Text + "','"
txtsql = txtsql & Text12.Text + "','"
txtsql = txtsql & Text13.Text + "','"
txtsql = txtsql & Text14.Text + "','"
'txtsql = txtsql & Text15.Text + "','"
txtsql = txtsql & Text8.Text + "')"
con.Execute (txtsql)
MsgBox "PRODUCTO INGRESADO "
txtsql = "update productos set stock_actual=' " & Text7.Text & "' where codigo= '" & Text1.Text & "' "
con.Execute (txtsql)
con.Close
Call limpia(movimiento)
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text4 = fFecha(Text4)
Text12.SetFocus
End If
If Not (KeyAscii >= 48 And KeyAscii <= 57) And KeyAscii <> 13 And KeyAscii <> 8 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Me da la impresión que el problema esta en la sentencia de fecha. Agradecería la ayuda. Muchas gracias de antemano.
Atentamente
El c÷odigo es el siguiente:
Declaraciones Generales
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim txtsql As String
Private Sub grabar_Click()
Dim con As New ADODB.Connection
con.Open ("dsn=bodega")
txtsql = ""
txtsql = "insert into movimiento(codigo,movimiento,nombre_producto,"
txtsql = txtsql & "unidad_medida,cantidad,"
txtsql = txtsql & "fecha_movimiento,distribucion,"
txtsql = txtsql & "stock_actual,stock_inicial,"
txtsql = txtsql & "solicitado,autorizado,"
txtsql = txtsql & "observaciones,hacia)"
txtsql = txtsql & "values('"
txtsql = txtsql & Combo2.Text + "','"
txtsql = txtsql & Text1.Text + "','"
txtsql = txtsql & Text2.Text + "','"
txtsql = txtsql & Text3.Text + "','"
txtsql = txtsql & Text10.Text + "','"
txtsql = txtsql & Text7.Text + "','"
txtsql = txtsql & Text11.Text + "','"
txtsql = txtsql & Text4.Text + "','"
txtsql = txtsql & Text5.Text + "','"
txtsql = txtsql & Text12.Text + "','"
txtsql = txtsql & Text13.Text + "','"
txtsql = txtsql & Text14.Text + "','"
'txtsql = txtsql & Text15.Text + "','"
txtsql = txtsql & Text8.Text + "')"
con.Execute (txtsql)
MsgBox "PRODUCTO INGRESADO "
txtsql = "update productos set stock_actual=' " & Text7.Text & "' where codigo= '" & Text1.Text & "' "
con.Execute (txtsql)
con.Close
Call limpia(movimiento)
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text4 = fFecha(Text4)
Text12.SetFocus
End If
If Not (KeyAscii >= 48 And KeyAscii <= 57) And KeyAscii <> 13 And KeyAscii <> 8 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Me da la impresión que el problema esta en la sentencia de fecha. Agradecería la ayuda. Muchas gracias de antemano.
Atentamente
Respuesta de Carlo Navarro Rojas
1