Access - urgenteeee

 
Vista:

urgenteeee

Publicado por Jonathan (85 intervenciones) el 17/05/2007 07:42:31
Hola! quiero hacer que cuando un pedido no exista en una tabla pero si en la otra, que me inserte unos campos d ese registro pero me da error y no se como se hace el insert. Me podeis ayudar?? Os dejo el codigo:

chiv = False
While Not rs.EOF
While Not rs2.NoMatch And chiv = False
If ((rs.Fields("pedido") = rs2.Fields("pedido")) And (rs.Fields("Z") = rs2.Fields("Z"))) Then
chiv = True
end if
If chiv = False Then rs2.MoveNext
Wend
If chiv = False Then
db.Execute ("INSERT INTO pedidos([NOMBRE CLIENTE])= rs2.Fields('NOMBRE CLIENTE')")
end if
chiv = False
rs.MoveNext
Wend

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:urgenteeee

Publicado por Cristian Vasquez (47 intervenciones) el 17/05/2007 19:11:01
Viejo, yo te recomendaria que resolvieras este problema con un uso, digamos "mas eficiente" de la sentencias SQl, te recomiendo que la metodologia sea la siguiente:

1. La consulta para saber cuales registros no estan, para esto debes elegir el campo(s) que te dicen si el registro esta o no, asi:

"SELECT Camp1,Camp2

FROM TABLA Tabla2

WHERE Camp1 noT in ( SELECT Camp1 FROM Tabla1 );"

2. La consulta de accion para agregar los registros que salen de la consulta anterior.

"INSERT INTO Tabla1 Campo1,Campo2 (Aqui metes la cadena de la consulta de arriba)"

3. lo anterior lo pones en un metodo RunSql del objeto Docmd:

MyCadena="INSERT INTO Tabla1 Campo1,Campo2 (SELECT Camp1,Camp2 FROM TABLA Tabla2 WHERE Camp1 noT in ( SELECT Camp1 FROM Tabla1 ));"

DoCmd.RunSQL Mycadena

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar