![]() |
Creando Consulta de alquiler
hola a todos!!
estoy haciendo una aplicacion para gestion de videclub, tengo lo siguiente: 2 - Edits (Cliente y Pelicula) 1 - DBGrid (columnas 'codigo', 'pelicula', 'fecha alquiler' y 'fecha devolucion') 2 - DBLabels 1 - tabla access (tbPeliculaAlquilada 'codigo_pelicula', 'codigo_cliente', 'fecha_alquiler', 'fecha_devolucion' y 'devuelta') 1 - datasource 1 - TTable (ADO) 1 - Tquery (ADO) como configuro que al teclear en el Edit1.text y con Enter me llame al cliente y me lo presente al lado en un dblabel u otra cosa, igual lo mismo en el edit2.text de las peliculas y me los presente en el dbgrid con sus respectivos columnas cual seria la consulta sql y el codigo delphi??:confused::confused::confused: |
Para buscar el Cliente podrías hacer algo parecido:
Bueno con esa idea tienes para hacer las demás consultas. Suerte. |
gracias nemesio por responder lo mas rapido, y disculpa que te haga esta pregunta porque me perdi, ese codigo donde lo pongo? en el edit? o en un Tbutton?:confused::confused::confused:
|
lo intente ponerlo en un tbutton y al compilar me sale 'Undeclared Identifier: ParamByName', a que se debe eso?:confused::confused:
|
Es válida cualquiera de las 2 opcíones. Puedes colocarlo en el evento OnKeyPress del Edit, algo asi como:
o Colocarlo en un en el evento OnClick de un Botón. Todo va a depender de como quieras hacerlo y de lo que requiera tu aplicación. |
Esta si va con la etiqueta bien...
Es válida cualquiera de las 2 opcíones. Puedes colocarlo en el evento OnKeyPress del Edit, algo asi como:
o Colocarlo en un en el evento OnClick de un Botón. Todo va a depender de como quieras hacerlo y de lo que requiera tu aplicación. |
No se que pasó que en la Previsualización se veía bien el código con la Etiqueta delphi. pero no se que pasó. Bueno ahi tienes la idea, cualquier duda vuelve a preguntar.
|
Ok lo que pasa es que en Ado la sintaxis es asi:
Suerte |
gracias nemesio con enter es mejor, pero estoy teniendo problemas que al compilar el ParamByname es Undeclared identifier que es lo que falta?:confused::confused::confused: |
gracias nemesio ahora si! pero me surge otro problema, cuando corro la aplicacion y pruebo el codigo me sale el siguiente error: 'qryCliente: parameter 'Codigo' not found', y disculpa las molestias....:D
|
gracias nemesio ahora si! pero me surge otro problema, cuando corro la aplicacion y pruebo el codigo me sale el siguiente error: 'qryCliente: parameter 'Codigo' not found', y disculpa las molestias....:D
este es el codigo adaptado:
|
prueba pegando los dos puntos de la palabra codigo, asi:
también coloca el "=" que por lo que veo no lo colocaste. Los dos indican en el SQL que lo que sigue es un parámetro. |
Quise decir los dos puntos.
|
aqui estoy de nuevo nemesio, pero aun me dice que el parametro codigo no se encuentra, lo intente de estas maneras:
sera que me estara faltando algo? y que viene siendo 'Codigo'? algun campo de la tabla? gracias, (diras que estas tratando con un bruto, jajajaja):confused::confused::confused::confused: |
Hay 2 detalles que espero hayas corregido:
Falta el símbolo de comparación, como ya te dijo nemesio, debe decir:
El otro detalle es darle valor al parámetro antes de abrir la consulta:
Cuando pones ":Loquesea" estas indicando al SQL que lo que hay detras de los dos puntos es un parámetro, es decir, algo variable en la ejecución de esa SQL. Normalmente se hace un Query1.Prepare antes de abrir la consulta, así se agiliza y queda compilada esa consulta en el servidor; cuando posteriormente se llame a esa consulta con otro valor en el parámetro, la consulta ya se encuentra compilada y lista para ejecutarla, tardando menos en su ejecución. Al menos esto funciona así en SGBD como Firebird / Interbase, etc, no sé que tal irá en Access. Es importante que digas de qué clase es el parámetro: Porque así Delphi lo traduce de forma correcta: AsString - Delphi añade las comillas AsInteger - Delphi lo pasa tal cual AsDateTime - Delphi traduce el formato de fecha que espera el motor. Según han comentado en otros mensajes sobre ACCESS, debes usar la propiedad Params del TQuery y especificar de qué tipo es el parámetro, obviamente es un parámetro de entrada pInput, si es de tipo String, etc. Un detalle más. Ten cuidado al darle nombre al parámetro, porque si tienes un campo que se llama "Codigo" en tu tabla, puede que se haga un lio el Tquery, realmente no lo he probado, porque yo siempre le añado a los Parámetros el prefijo "pr" Así nunca hay dudas. Saludos |
gracias lepe!!! ahora mismo voy hacer los arreglos. muchas gracias, luego te dire como me fue. chao.
|
aqui estoy de nuevo, hice lo que dijiste Lepe pero ahora me sale otro error
me dice "Undeclared Identifier: 'AsInteger'", y por que sera ahora??:confused::confused::confused: gracias y disculpa las molestias. |
Por favor no repitas hilos (eso incluye abrir otro hilo diciendo que miren éste).
Revisa la Guía de estilo. |
Perdon:(:(:(
|
Pues qué curioso, acabo de comprobar que ADO no tiene esa propiedad, así que tendrás que seguir usando .Value pero mira las propiedades de ese parámetro para indicarle que es un integer,char, etc.
Saludos |
hola lepe, sucede lo siguiente, este es mi codigo:
el campo telefono1_cliente es un campo de texto tipo 809-555-5555, pues cuando corro la aplicacion y digito el telefono para llamar al cliente 809-555-5555 me sale el siguiente error: "809-555-5555 is not a valid integer value" esta claro que no es un valor numerico esto esta en :
cual es el valor que debo poner en vez de StrtoInt he intentado con varios y no doy con el. para que tengas una idea de todo lo que tengo en mi form: 1 - adoquery (deberia tenerlo o no es necesario, debe estar en false?) 1 - datasource 1 - maskedit (clientes) 1 - edit (peliculas) 1 - base de datos MS ACCESS 3 - tablas (tbClientes, tbPeliculas, tbPeliculasAlquilada) 1 - dbgrid 2 - speedbuttons (para hacer busquedas de clientes y peliculas tipo ... ) 3 - dbedit (donde se mostraran los totales del alquiler, subtotal, iva y total) 2 - dbtext (donde se mostraran el nombre de la pelicula y el cliente) 2 - checkbox (donde se indicara si el cliente paga en efectivo o credito) 4 - buttons (cobrar, anular, cancelar y cerrar) gracias, espero que no este molestando mucho... |
Qué tipo de campo es "Telefono"? StrToInt te muestra el error porque estas tratando de convertir a entero una cadena no válida. Recuerda que las cantidades válidas no tienen caracteres especiales a menos que sea el símbolo de negativo antes de la cantidad o el separador decimal. Por lo tanto si quieres guardar el número telefónico sin tener problemas, el campo debería ser string y debes quitar el StrToInt.
|
hola nemesio, ya pude resolver el problema este es el codigo:
pero ahora sucede que ocurre otro error, cuando digito un telefono me sale el nombre en el dbtext, perfecto hasta ahi todo bien, pero supongamos que ese no era el telefono que no queria, limpio la casilla para digitar otro telefono, y me sale este error: Cita:
gracias... |
ya pude resolver el problema habia que ponerle sql.clear, gracias a todos, por ayudarme..
|
| La franja horaria es GMT +2. Ahora son las 06:48:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi