Access - Buscar dato en una tabla y copiarlo a otra.

 
Vista:

Buscar dato en una tabla y copiarlo a otra.

Publicado por JuanMa (2 intervenciones) el 18/10/2007 07:50:02
Antes de nada... me presento...
Me llamo Juanma.. y he empezado hace poco mi andadura con access... mas q nada por hobbie.

A ver si alguien me echa un cable porque ni idea de como hacer o como seguir.

A ver me explico.
Tengo un formulario y dos tablas. Una tabla de productos y otra de albaranes.
Lo que quiero hacer es en el formulario tener una caja de texto en donde escribir un codigo de producto, si ese codigo existe en tabla1 (productos)... pues que se muestren los datos en el formulario y que esos mismos datos se copien en tabla2 (Albaran)
y si no existe .... pues que se de de alta en Tabla1 (productos) y se añada a Tabla2 (Albaran)
No se si me he explicado bien... :-(

Pero bueno, gracias de todas formas por adelantado.
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:Buscar dato en una tabla y copiarlo a otra.

Publicado por smokalot (165 intervenciones) el 18/10/2007 08:15:40
Hola,

1) digo yo que cuando te introduzcan el codProd en el textBox:
Dim rec_Prod as Recordset
dim db as database
set db = currentdb <-- para que nos apunte a la bbdd activa
set rec_prod = db.openrecordset ("SELECT * FROM Tbl_Productos WHERE CodProd = " & TextBox_CodProd & "")
si esto te devuelve algo, significa que si que existe en la tabla de prodcutos por lo que el recordset (variable que contiene la informacion devuelta por la bbdd) que contiene los datos de la select.
Si esto es correcto como tu apuntas se tiene que copiar la inf del Rec_CodProd a la tabla de Albaran.
Apunte: supongo que tendras 2 tablas que hacen referencia al albaran.
a) Cabecera_Albaran
b) Lineas_Albaran
2) si no devuelve nada el rec_Prod entonces tendras que ejecutar "INSERT INTO Tbl_Productos SELECT ...."

Buenu espero haberte ayudado,

Suerte,

SMK
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

RE:Buscar dato en una tabla y copiarlo a otra.

Publicado por Juan Manuel (2 intervenciones) el 25/10/2007 13:44:43
Hola y gracias por responder....
Mira

<Hola,

<1) digo yo que cuando te introduzcan el codProd en el textBox:
<Dim rec_Prod as Recordset
<dim db as database
<set db = currentdb <-- para que nos apunte a la bbdd activa
<set rec_prod = db.openrecordset ("SELECT * FROM Tbl_Productos WHERE <CodProd = " & TextBox_CodProd & "")
<si esto te devuelve algo, significa que si que existe en la tabla de prodcutos por lo que el recordset (variable que contiene la informacion devuelta por la bbdd) que contiene los datos de la select.

Aqui... me da un fallo hago lo q tu me dices... pero me sale
Error en tiempo de ejecucion , error nº 3464
No coinciden los tipos de datos en la expresion de criterios.

El caso es q la tabla existe, CodProd es tipo texto y clave principal, y el TextBox_CodProd tambien existe y recoge un tipo texto :-(
Sigo perdio con esto. Es problema del recordset? no se tio, a ver si me dices algo.

<Si esto es correcto como tu apuntas se tiene que copiar la inf del Rec_CodProd a la tabla de Albaran.
<Apunte: supongo que tendras 2 tablas que hacen referencia al albaran.
<a) Cabecera_Albaran
<b) Lineas_Albaran
<2) si no devuelve nada el rec_Prod entonces tendras que ejecutar "INSERT INTO Tbl_Productos SELECT ...."

<Buenu espero haberte ayudado,

<Suerte,

<SMK

Te he agregado al msn, espero q no te importe... y asi si coincidimos te pregunto en directo ok.
Gracias de antemano.
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 24 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Buscar dato en una tabla y copiarlo a otra.

Publicado por Arturo (14 intervenciones) el 07/11/2007 08:44:24
El error te da porque al ser un campo TEXTO, debe in entre comillas.

<set rec_prod = db.openrecordset ("SELECT * FROM Tbl_Productos WHERE <CodProd = (comilla)" & TextBox_CodProd & "(comilla)")

Sustituye (comilla) por una comilla simple (la que esta en la tecla a la derecha del 0, debajo de ?) y te evitaras el error de tipo de datos, ya que el SQL no puede convertir a numero (por no ir entre comillas) el valor de TextBox_CodProd
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