Access - Codigo manejo de tablas

 
Vista:

Codigo manejo de tablas

Publicado por ana (54 intervenciones) el 15/04/2002 10:10:47
Sigo con mi error de tipos.El codigo que tengo mas o menos es:
Set db = CurrentDb()
Set rTB1 = db.OpenRecordset("FRAUXLI")***********
SQL = "SELECT * FROM frprod WHERE (((frprod.idprod)=[Formularios]![lineaentr1]![PRODUCTO]))"
Set TB2 = db.OpenRecordset(SQL)
If rTB1!EOF Then GoTo salida
rTB1.MoveFirst+++++++++++

[Forms]![lineaentr1]!enca = [Forms]![lineaentr1].enpa
[Forms]![lineaentr1]!enkg = ([Forms]![lineaentr1]!enca)
rTB1.enca = ([Forms]![lineaentr1].enca)
rTB1.enkg = ([Forms]![lineaentr1].enkg)
rTB1.Update
salida:
en la linea*********** me da error de tipo
en la linea+++++++++me da no encuentr el metodo.
Me puede mandar alguien un pqueño ejemplode codigo para manejo de tablas.Debo añadir en una tabla en otra modificar.....
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:Codigo manejo de tablas

Publicado por Juan Amorós (489 intervenciones) el 15/04/2002 11:33:57
Ana:
De entrada: ¿Has DIM-ensionado la variable rTB1 como RECORDSET?, mas o menos sería:
Dim rTB1 as Recordset
Set rTB1= dbs.OpenRecordset("FRAUXLI", dbOpenTable)

después de comprobar lo que te he dicho veremos si continua el error y le daremos solución
Saludos
Juan Amorós
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:Codigo manejo de tablas

Publicado por Ana (54 intervenciones) el 15/04/2002 11:42:15
Function asignar()
Dim db As Database
Dim rTB1 As Recordset, TB2 As Recordset
Dim SQL As String
Set db = DBEngine.Workspaces(0).Databases(0)
Set rTB1 = db.OpenRecordset("frauxli",db:open_dynaset)*************
SQL = "SELECT * FROM frprod WHERE (((frprod.idprod)=[Formularios]![lineaentr1]![PRODUCTO]))"
Set TB2 = db.OpenRecordset(SQL)
rTB1.MoveFirst
If rTB1.EOF Then GoTo salida
Do Until rTB1.EOF

[Forms]![lineaentr1]!enca = [Forms]![lineaentr1]!enpa * rTB1!CAJASPALLET
[Forms]![lineaentr1]!enkg = ([Forms]![lineaentr1]!enca)
rTB1!enca = ([Forms]![lineaentr1].enca)
rTB1!enkg = ([Forms]![lineaentr1].en

Te mando parte del código.En la linea *************** cuando ejecuto el código me da error de tipo.Ya no se que hacer ni que cambiar ,tambien he puesto db_open_table.Mucha gente me dice lo de DAOen herramioentas,referencias.No se si me faltara algo.Saludos si pudieses ayudarme.Gracias
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:Codigo manejo de tablas.ANULA LO ANTERIOR

Publicado por Ana (54 intervenciones) el 15/04/2002 12:22:51
Mira gracias por todo ya he solucionado ese problema.pero claro esta ahora tengo otro.Quiero que en un campo de formulario se me llene con un valor calculado, es decir dependiendo del campo que me llenen los otrs se calculan automaticamente, te mando el codigo:¿Como direcciono el formulario?
Function asignar()
Dim db As Database
Dim rTB1 As Recordset, rTB2 As Recordset, Tb3 As Recordset
Dim FILTRO As String
Set db = DBEngine.Workspaces(0).Databases(0)
Set rTB1 = db.OpenRecordset("frauxli", dbOpenTable)
'FILTRO = "SELECT * FROM frprod WHERE (((frprod.idprod)=[Formularios]![lineaentr1]![PRODUCTO]))"
Set rTB2 = db.OpenRecordset("FRPROD", dbOpenTable)
rTB1.MoveFirst
If rTB1.EOF Then GoTo salida
If rTB2.EOF Then GoTo salida
Do Until rTB1.EOF
While rTB2!idprod <> rTB1!idproducto
rTB2.MoveNext
If rTB1!idproducto = rTB2!idprod Then GoTo uno
Wend
uno:
rTB1.Edit
[Forms]![lineaentr1]!enca = [Forms]![lineaentr1]!enpa * rTB2!CAJASPALLET
[Forms]![lineaentr1]!enkg = ([Forms]![lineaentr1]!enca) * rTB2!KILOSCAJA
rTB1!enca = ([Forms]![lineaentr1].enca)
rTB1!enkg = ([Forms]![lineaentr1].enkg)
rTB1.Update
rTB1.MoveNext
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:Codigo manejo de tablas.ANULA LO ANTERIOR

Publicado por Juan Amorós (489 intervenciones) el 16/04/2002 09:49:18
Ana:
Según leo el código que envías, se me "ocurre" que tienes abierto un formulario llamado "lineaentr1" ¿es así?. Si eso es verdad te recomiendo que para hacer referencia a cualquier campo concreto del mismo, tan sólo debes de escribir, delante del nombre del campo, la expresión Me! (ejemplo: Me!enca, otro: Me!enkg), de esta forma haces referencia expresa al formulario activo.
Pruébalo y verás como te funciona.
Saludos
Juan Amorós
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