Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Error de Sintasis

Estas en el tema de Error de Sintasis en el foro de Visual Basic clásico en Foros del Web. Hola! Tengo una tabla en acces y todo va bien, menos editar. Me da error de sintasis en la funcion UPDATE y me gustaria que ...
  #1 (permalink)  
Antiguo 26/07/2011, 05:17
 
Fecha de Ingreso: marzo-2011
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 1
Busqueda Error de Sintasis

Hola! Tengo una tabla en acces y todo va bien, menos editar. Me da error de sintasis en la funcion UPDATE y me gustaria que me giaran ya que no se que poner en el "Where"

Aqui dejo el codigo de update.
cnn.Execute "update Clientes set nom='Text1(1)',ap='Text1(2)',dni='Text1(3)',dir='T ext1(4)',cp='Text1(5)',loc='Text1(6)',pro='Text1(7 )',tel1='Text1(8)',tel2='Text1(9)',mov1='Text(10)' ,mov2='Text(11)',fax='Text(12)', Where nc=nc'"

La tabla se llama Clientes, y el primer campo es nc, pero no se como cambiarlo porque solo veo ejemplos con "id".

Un Saludo.
  #2 (permalink)  
Antiguo 26/07/2011, 12:24
Avatar de Gakex  
Fecha de Ingreso: enero-2009
Mensajes: 137
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Error de Sintasis

supongo que nc se refiere a numero de cliente y es un campo que tienes en esta misma tabla, pero no se modifica porque es autoincrementado por access...

ah creo que es la coma antes del where
^^

pero este campo nc ya deberia de existir antes de actualizarlo en la base de datos

Última edición por Gakex; 26/07/2011 a las 12:30
  #3 (permalink)  
Antiguo 26/07/2011, 13:19
 
Fecha de Ingreso: marzo-2011
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Error de Sintasis

Cita:
Iniciado por Gakex Ver Mensaje
supongo que nc se refiere a numero de cliente y es un campo que tienes en esta misma tabla, pero no se modifica porque es autoincrementado por access...

ah creo que es la coma antes del where
^^

pero este campo nc ya deberia de existir antes de actualizarlo en la base de datos
Hola! Muchas gracias por tu respuesta. Nc es el numero de cliente. El problema creo que es que el campo del formulario "editar" se llama nc y en la tabla tambien se llama nc. Todos los campos los tengo puestos como texto (si sirve, la base de datos esta creada con Access 2000) y no es autoincrementada porque tengo un programa de gestion y quiero que tengan la misma numeracion, por lo que es manual.

He probado la coma y tampoco.
Muchas gracias
Un Saludo.
  #4 (permalink)  
Antiguo 26/07/2011, 13:41
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: Error de Sintasis

lo primero que salta a la visa es que al final de la sentencia where termina en '", o sea tienes una cremilla demas y tambien te falta separar las cadenaslo que tu debes hacer es algo como esto :
cnn.Execute "update Clientes set nom='" & Text1(1) & "',ap='" & Text1(2) & " ',dni='" & Text1(3) & "',dir='" & T ext1(4) & "',cp='" & Text1(5) & "',loc='" & Text1(6) & "',pro='" & Text1(7 )& "',tel1=" & 'Text1(8) & "',tel2='" & Text1(9) & "',mov1='" & Text(10) & "' ,mov2='" & Text(11) & "',fax='" & Text(12) & "', Where nc='" & nc & "'"

se entiende???? trata de analizar y no solo copiar y pegar, saludos
  #5 (permalink)  
Antiguo 27/07/2011, 01:36
 
Fecha de Ingreso: marzo-2011
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Error de Sintasis

Muchas gracias por el codigo. Lo pongo y me da error tel2='" & Text1(9) & "' diciendo que el procedimiento sub o funcion no definida. Si boroo esa linea aparece la anterior, y asi susesivamente. Esto de editar no sabia que iba a ser tan dificil. :)
Un Saludo.
  #6 (permalink)  
Antiguo 27/07/2011, 13:42
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: Error de Sintasis

te falla con todos??? si es asi, revisa el nobre de text1(x), sino text1 esta dentro de un arreglo... o sea text1(0) hasta text1(x), comprueba que el text1(9), text1(10), text1(11).... text1(x), existan en tu programa, sino prueba con text1(x).text
  #7 (permalink)  
Antiguo 28/07/2011, 01:33
 
Fecha de Ingreso: marzo-2011
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Error de Sintasis

Muchas gracias por contestar. Ya no esta ese problema. Ahora hay otro: error de sintasis en la funcion update. Dejo el codigo del boton editar y el de update:

Private Sub Editar()

Dim i As Integer
' verifica que hay datos en el ListView y que hay uno seleccionado
If (lv.ListItems.Count = 0) Then
MsgBox "No hay ningún regisro para editar", vbInformation
Exit Sub
End If
If (lv.SelectedItem Is Nothing) Then
MsgBox "Selecciona previamente un registro para poder editarlo", vbInformation
Exit Sub
End If

With fmeditar
' obtiene el elemento seleccionado
.nc = lv.SelectedItem.Text
For i = 1 To 12
.Text1(i).Text = lv.SelectedItem.ListSubItems(i).Text

Next
.abcd = lv.SelectedItem.Text
.ACCION = editar_registro


.Show vbModal


End With
End Sub
  #8 (permalink)  
Antiguo 28/07/2011, 12:27
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: Error de Sintasis

y el update? y el codigo ke pegaste... donde marca el error???
  #9 (permalink)  
Antiguo 29/07/2011, 01:56
 
Fecha de Ingreso: marzo-2011
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Error de Sintasis

Update:

cnn.Execute "update Clientes set nom='" & Text1(1).Text & "',ap='" & Text1(2).Text & "',dni='" & Text1(3).Text & "',dir='" & Text1(4).Text & "',cp='" & Text1(5).Text & "',loc='" & Text1(6).Text & "',pro='" & Text1(7).Text & "',tel1='" & Text1(8).Text & "',tel2='" & Text1(9).Text & "',mov1='" & Text1(10).Text & "' ,mov2='" & Text1(11).Text & "',fax='" & Text1(12).Text & "', Where nc='" & nc & "'"

He seguido la ejecucion con F8 y llega a la linea del update y despues al error.
  #10 (permalink)  
Antiguo 29/07/2011, 13:56
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: Error de Sintasis

efectivamente es un error de sintaxis, saca la coma que esta antes de where y asi debiera quedar listo

cnn.Execute "update Clientes set nom='" & Text1(1).Text & "',ap='" & Text1(2).Text & "',dni='" & Text1(3).Text & "',dir='" & Text1(4).Text & "',cp='" & Text1(5).Text & "',loc='" & Text1(6).Text & "',pro='" & Text1(7).Text & "',tel1='" & Text1(8).Text & "',tel2='" & Text1(9).Text & "',mov1='" & Text1(10).Text & "' ,mov2='" & Text1(11).Text & "',fax='" & Text1(12).Text & "' Where nc='" & nc &
  #11 (permalink)  
Antiguo 30/07/2011, 01:11
 
Fecha de Ingreso: marzo-2011
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Error de Sintasis

Muchas gracias!! Tema cerrado.

Etiquetas: vb6
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:40.