Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta UPDATE no me funciona en SQL SERVER 200 y en access sí!

Estas en el tema de Consulta UPDATE no me funciona en SQL SERVER 200 y en access sí! en el foro de Bases de Datos General en Foros del Web. Hola, tengo una consulta que en visual basic con access la tenía de la siguiente manera cnn.Execute ("UPDATE tbnota AS N, tbdetnota AS D SET ...
  #1 (permalink)  
Antiguo 27/05/2005, 17:03
 
Fecha de Ingreso: mayo-2005
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 0
Consulta UPDATE no me funciona en SQL SERVER 200 y en access sí!

Hola, tengo una consulta que en visual basic con access la tenía de la siguiente manera

cnn.Execute ("UPDATE tbnota AS N, tbdetnota AS D SET D.precio = (D.precio - (D.precio * ('" & Val(disminuir) & "'/100))), D.importe = (D.importe - (D.importe *('" & Val(disminuir) & "'/100))) WHERE D.Numero = N.Numero AND N.Fecha BETWEEN " & FechaSQL1 & " AND " & FechaSQL2 & " AND N.status <> 'Facturada'")

y ésto me funcinaba a la perfección hasta que cambié mi base de datos a SQL SERVER 2000 me marca error cerca de "," estuve leyendo en Internet y supuestamente la consulta debe tener la siguiente forma:

cnn.Execute ("UPDATE tbdetnota INNER JOIN tbnota ON tbdetnota.Numero = tbnota.Numero SET tbdetnota.campo = valor WHERE condicion")

Pero al ejecutar la consulta me marca el siguiente error "Error cerca de palabra clave INNER" y creo que ésto ya está bien!!!
  #2 (permalink)  
Antiguo 27/05/2005, 17:11
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
ya lo intentase así: ?


Cita:
cnn.Execute("UPDATE tbdetnota
SET tbdetnota.campo = valor
where tbdetnota.Numero = tbnota.Numero
and <condicion")
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 27/05/2005, 18:41
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 7 meses
Puntos: 2
Hola!

Si entendi bien lo que necesitas, lo que pasa es que tienes mal aplicada la estructura del update con join, mira

UPDATE tbl1
SET tbl1.campo = valor
FROM tabla1 tbl1
join tabla2 tbl2 on tbl1.id = tbl2.id
where tbl1id = valorID

Entonces aplica esa estructura a lo que necesitas

UPDATE tbdetnota tdn
SET tdn.campo = valor
INNER JOIN tbnota tn ON tdn.Numero = tn.Numero
WHERE condicion

Creo que eso arregla tu consulta del INNER, pero no se que es exactamente lo que quieres lograr asi que no aseguro tus resultados

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #4 (permalink)  
Antiguo 28/05/2005, 12:46
 
Fecha de Ingreso: mayo-2005
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 0
Gracias

Muchas gracias por su ayuda, ya me está funcionando.
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 14:30.