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
(xxxxxx)

1 respuesta

Respuesta
1
Amigo tienes que darle formato a la fecha que estas ingresanso a tu tabla, sql server 2000 ingresa las fecha por YYYY-MM-DD por defecto, en visual basic a una función que se llama format, la sintaxis es esta, suponiendo que tu campo se llama fecha, debes de crear una variable de tipo string...
dim fecha_cualquiera as string
fecha_cualquiera=format(fecha,"YYYY-MM-DD")
Y luego la variable fecha_cualquiera la pones en lugar de fecha.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas