Por favor, alguien me puede ayudar con este error....

Jovi
22 de Junio del 2004
Error '3134' en tiempo de ejecución: Error de sintaxis en la instrucción INSERT INTO, mi código es el siguiente:

Private Sub cmdgrabar_Click()
Dim insertar As Boolean
Dim op As String
If Trim(txtnombre) = "" Then Exit Sub
If abrirbd Then
SQL = ""
SQL = " select * from cliente where nombre = '" & txtnombre & "'"
Set rs = bd.OpenRecordset(SQL)
If rs.EOF Then
insertar = True
Else
insertar = False
End If
If insertar Then
SQL = ""
SQL = " insert into "
SQL = SQL + " cliente "
SQL = SQL + "( nombre, direccion, cod_ciudad, cod_gerente, contacto_1, cargo_1, contacto_2, cargo_2, contacto_3, cargo_3 )"
SQL = SQL + " values ( '" & txtnombre & "'"
SQL = SQL + ", '" & txtdir & "'"
SQL = SQL + ", " & cmbcodciudad.Text & ""
SQL = SQL + ", " & cmbcodgerente.Text & ""
SQL = SQL + ", '" & txtnom1 & "'"
SQL = SQL + ", '" & txtcargo1 & "'"
SQL = SQL + ", '" & txtnom2 & "'"
SQL = SQL + ", '" & txtcargo2 & "'"
SQL = SQL + ", '" & txtnom3 & "'"
SQL = SQL + ", '" & txtcargo3 & "')"
bd.Execute (SQL)
MsgBox ("La información ha sido grabada...")
op = MsgBox("Desea ingresar otro", vbYesNo, "Ingreso")
If op = vbNo Then Exit Sub
limpiar
Else
SQL = ""
SQL = " update "
SQL = SQL + " cliente "
SQL = SQL + " set direccion = '" & txtdir & "'"
SQL = SQL + ", cod_ciudad = " & cmbcodciudad & ""
SQL = SQL + ", cod_gerente = " & cmbcodgerente & ""
SQL = SQL + ", contacto_1 = '" & txtnom1 & "'"
SQL = SQL + ", cargo_1 = '" & txtcargo1 & "'"
SQL = SQL + ", contacto_2 = '" & txtnom2 & "'"
SQL = SQL + ", cargo_2 ='" & txtcargo2 & "'"
SQL = SQL + ", contacto_3 = '" & txtnom3 & "'"
SQL = SQL + ", cargo_3 = '" & txtcargo3 & "'"
SQL = SQL + " where nombre = '" & txtnombre & "'"
bd.Execute (SQL)
MsgBox ("La información ha sido actualizada...")
op = MsgBox("Desea modificar otro", vbYesNo, "Actualización")
If op = vbNo Then Exit Sub
limpiar
End If
cerrarbd
End If
End Sub

krizall
22 de Junio del 2004
hola, asi a simple vista es un poquito dificil distnguir las comillas pero espero que te sirva esto que te voy a decir:
primero que nada sustituye el "+" por "&"
segundo:
para los campos string encierra todo entre comilla simple asi: ' " & valor & " '
disculpa los espacios pero sino los pongo no se ve bien

para los campos numericos por solo las comillas dobles..

espero que con esto resuelvas algo

Jovi
22 de Junio del 2004
Me resulto una vez, pero a la segunda me volvio a parecer el error, de todas maneras muchas gracias.....

kloss
22 de Junio del 2004
Deberías usar el excelente depurador de VB60 para poder dar con el error. Nosotros no sabemos si los campos son de texto o numéricos o de fecha..., por lo que no te podemos ayudar bien. Pero si consultas el valor de la variable SQL en depuración seguro que encontrarás el error fácilmente.

Para ello, una vez aparezca el error, pulsa en 'Depurar' y escribe en la ventana inferior ('Inmediato') de depuración del IDE lo siguiente:
?SQL
Te aparecerá la consulta completa generada y podrás inyectarla directamente en access o bien modificarla en tiempo de depuración en la misma ventanita, por ejemplo
SQL = "inset into...."
y después dárle al F5 para continuar otra vez a ver que tal

Jovi
22 de Junio del 2004
Chicos (a) creo que mi problema es cuando "NO" ingreso información en alguno de mis TextBox, me arroja el Error '3134' que debo hacer en este caso..., ya que si ingreso todos los datos del formulario no tengo problema en que me guarde o actualize la información, de antemano muchas gracias......