Cita:
Empezado por webmasterplc
me da este error
[dcc32 Error] UnitTasa.pas(76): E2003 Undeclared identifier: 'sqlproductosPRECIO1'
|
Es que ese campo no existe aun, en tiempo de diseño debes especificar esos campos en el dataset y luego recién ejecutar el código.
1.- En tu primer post pusiste esta consulta:
Ese código debes especificar que datos vas a necesitar, entiendo que quieres actualizar todos los productos, pero debes especificar que campos vas a necesitar, asi optimizaras mejor el rendimiento. Quedaría así según tu codigo:
Código SQL
[-]
SELECT PRECIO1, PRECIO2, PRECIO3, PRECIO4, PRECIO5, PRECIO6, CODIGO from productos
2.- He de suponer que usas módulos de datos para colocar lo componentes de base de datos. Ahora suponiendo que usas Firebird, debes colocar un ibquery definir la consulta sql:
Código SQL
[-]
SELECT PRECIO1, PRECIO2, PRECIO3, PRECIO4, PRECIO5, PRECIO6, CODIGO from productos
Luego das botón derecho en el ibquery y click en "Fields Editor" y sale una nueva ventana y haces botón derecho haces click en "Add all fields". Con esto ya has creado todos los campos y el mismo proceso para hacer con el clientdetaset para definir sus campos, s´plo que ya no debes poner ninguna sentencia sql sólo debes enlazarlo con un datsetprovider como puente entre ibquery y el clientdataset.
Si tienes dudas sobre esto hay una pagina en internet que se denomina "Delphi al limite" tiene bastantes ejemplos sobre clientdataset, ibquery, datasetprovider.
Una ver definido los campos anteriores recien puedes poner este código:
Código Delphi
[-]
precio1:=datos.sqlproductosPRECIO1.Value
Donde "datos" he de suponer el modulos de datos, "sqlproductos" es el dataset y "PRECIO1" es el campo.
Saludos.