Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error en Codigo SQL en consulta a base de datos Access (https://www.clubdelphi.com/foros/showthread.php?t=83741)

mcs 23-07-2013 02:06:17

He descargado tu proyecto, lo he mirado todo y te digo lo mismo que te ha dicho Casimiro: no puedes hacerlo.

Tu nivel de programación es nulo. Tu nivel de conocimientos de bases de datos es nulo.

Hazte un favor y leete La Cara Oculta de Delphi, ya sea el 4 o el 6. Son gratuitos, y aprenderás un montón.

Porqué la verdad, tirando componentes a un formulario y copiado código no vas a aprender nada. Yo (y gran parte de la gente que está por aquí) te podemos decir todas las tablas, procedures, clases, funciones y demás que necesita un programa de facturación, pero no te servirá de nada.

Ah, en el proyecto que has subido al SkyDrive no hay la query de inserción de facturas.

Y una primera lección, y MUY importante: pon nombres claros a TODO lo que uses: units, clases, dbedits, botones, etc! Sinó, dentro de cuatro días no sabrás que era el dbedit1, el label5 o que hay en unit7.pas.

Saludos, y buenas noches.

Caral 23-07-2013 02:32:55

Hola
No se si baje el correcto o no el asunto es que me indica que la BD Usuarios no esta.
Saludos

cloayza 23-07-2013 03:38:33

Así a la rapida, detecto un error en la sentencia...

Código Delphi [-]
Var
  a,b,c : real;
begin
 a:= StrTofloat(cantidad.Text);
 b:= StrTofloat(precio.Text);
 c:= a * b;
 total.Text:= floatToStr(c);
 qry1.SQL.Text := 'Insert into Factura (CodFactura, Fecha, CodCliente, CodArticulo, Descripcion, Cantidad, Total) '+
  'VALUES (:CodFactura, :Fecha, :CodCliente, :CodArticulo, descripcion, :Cantidad, :Total)';
qry1.Parameters.ParamByName('CodFactura').AsString := CodFactura.Text;
qry1.Parameters.ParamByName('Fecha').AsDate := Dtp1.Date;
qry1.Parameters.ParamByName('CodClient').AsString := CodClient.Text;
qry1.Parameters.ParamByName('CodArticulo').AsString := CodArticulo.Text;
qry1.Parameters.ParamByName('Descripcion').AsString := lbl9.Text;
qry1.Parameters.ParamByName('Cantidad').AsString := Cantidad.Text;
qry1.Parameters.ParamByName('Total').AsString := Total.Text;
qry1.ExecSQL;
end;

Estas asignando un valor al parametro "Descripcion", el cual no existe ya que en el sql no esta precedido de los ":"...

Deberia ser:
Código Delphi [-]
 qry1.SQL.Text := 'Insert into Factura (CodFactura, Fecha, CodCliente, CodArticulo, Descripcion, Cantidad, Total) '+
  'VALUES (:CodFactura, :Fecha, :CodCliente, :CodArticulo, :descripcion, :Cantidad, :Total)';
qry1.Parameters.ParamByName('CodFactura').AsString := CodFactura.Text;
qry1.Parameters.ParamByName('Fecha').AsDate := Dtp1.Date;
qry1.Parameters.ParamByName('CodClient').AsString := CodClient.Text;
qry1.Parameters.ParamByName('CodArticulo').AsString := CodArticulo.Text;
qry1.Parameters.ParamByName('Descripcion').AsString := lbl9.Text;
qry1.Parameters.ParamByName('Cantidad').AsString := Cantidad.Text;
qry1.Parameters.ParamByName('Total').AsString := Total.Text;
qry1.ExecSQL;
end;

Saludos cordiales

feliz-58 23-07-2013 03:59:45

Caral
 
1 Archivos Adjunto(s)
Caral, aqui esta la BD de usuarios. Espero tu respuesta. Gracias

feliz-58 23-07-2013 04:01:35

Cita:

Empezado por mcs (Mensaje 464280)
He descargado tu proyecto, lo he mirado todo y te digo lo mismo que te ha dicho Casimiro: no puedes hacerlo.

Tu nivel de programación es nulo. Tu nivel de conocimientos de bases de datos es nulo.

Hazte un favor y leete La Cara Oculta de Delphi, ya sea el 4 o el 6. Son gratuitos, y aprenderás un montón.

Porqué la verdad, tirando componentes a un formulario y copiado código no vas a aprender nada. Yo (y gran parte de la gente que está por aquí) te podemos decir todas las tablas, procedures, clases, funciones y demás que necesita un programa de facturación, pero no te servirá de nada.

Ah, en el proyecto que has subido al SkyDrive no hay la query de inserción de facturas.

Y una primera lección, y MUY importante: pon nombres claros a TODO lo que uses: units, clases, dbedits, botones, etc! Sinó, dentro de cuatro días no sabrás que era el dbedit1, el label5 o que hay en unit7.pas.

Saludos, y buenas noches.

Excelente comentario, no se nada, nunca dije que supiera, no es mi intención hacer saber que se, me imagino que debes ser un genio, y me alegra, porque si no hubieran personas como tu, las personas como yo no sabríamos hacer nada :) gracias!


Suerte amigo! :D

Caral 23-07-2013 04:10:36

Hola
Ya lo puedo ver, que quieres hacer ?
Saludos
Nota: Con precisión.

feliz-58 23-07-2013 04:17:31

Gracias
 
Cita:

Empezado por Caral (Mensaje 464285)
Hola
Ya lo puedo ver, que quieres hacer ?
Saludos
Nota: Con precisión.

Simplemente, en el form de facturacion, quiero hacer las facturas de los diferentes articulos y de los diferentes clientes que pueda tener "lo común" el asunto es que hay muchas cosas que no tendré que usar, como Sub total, impuestos, descuentos,etc. solo lo que tengo en las bases de datos y algo esencial que tu creas que falte.

ese es el asunto. intente seguir tu tutorial pero como esas cosas no van se me complico un poco.


Saludos :)

Caral 23-07-2013 04:22:46

Hola
Primero sácame de una duda
para que dos bases de datos ?
saludos

feliz-58 23-07-2013 04:35:36

Cita:

Empezado por Caral (Mensaje 464287)
Hola
Primero sácame de una duda
para que dos bases de datos ?
saludos

pensaba hubicar la de usuarios en otro directorio, cuando terminara el programa solo era re ubicar.

Caral 23-07-2013 04:45:21

Hola
No voy a poder probar el programa porque usas componentes de botones que yo no tengo asi que iremos poco a poco.
Para empezar no pretendas mucho de mi, no soy programador solo es un hoovi y hay muchos aqui que saben mucho mas que yo.
Para empezar deberías replantearte el programa la logica no es buena, entiendo que estés empezando pero mejor empezar bien.
Yo lo primero que haria seria :
1- eliminar todos los adoconnection de los form y dejaria solo el del datamodule.
2- pondria un archivo ini para localizar la base de datos.
3- crearia una tabla de facturaItem que tendria los articulos de venta, independientemente de la tabla factura.
4- pondria la tabla usuarios en la misma bd, no entiendo la razon de ponerla en otro lado.
tal vez digas que no es lo que necesitas, pero creeme, si no cambias lo que estas haciendo vas a hacer un escabeche.
Es solo mi opinion.
Saludos
PD: Si tienes dudas en los puntos que te comento lo podemos ver uno a uno.

feliz-58 23-07-2013 04:56:47

Cita:

Empezado por Caral (Mensaje 464289)
Hola
No voy a poder probar el programa porque usas componentes de botones que yo no tengo asi que iremos poco a poco.
Para empezar no pretendas mucho de mi, no soy programador solo es un hoovi y hay muchos aqui que saben mucho mas que yo.
Para empezar deberías replantearte el programa la logica no es buena, entiendo que estés empezando pero mejor empezar bien.
Yo lo primero que haria seria :
1- eliminar todos los adoconnection de los form y dejaria solo el del datamodule.
2- pondria un archivo ini para localizar la base de datos.
3- crearia una tabla de facturaItem que tendria los articulos de venta, independientemente de la tabla factura.
4- pondria la tabla usuarios en la misma bd, no entiendo la razon de ponerla en otro lado.
tal vez digas que no es lo que necesitas, pero creeme, si no cambias lo que estas haciendo vas a hacer un escabeche.
Es solo mi opinion.
Saludos
PD: Si tienes dudas en los puntos que te comento lo podemos ver uno a uno.

reorganizare todo y luego te enseño.

Gracias por la ayuda :)

Caral 23-07-2013 04:58:36

Hola
Para poner el archivo INI puedes ver este tutorial que hice, te servira de ejemplo, es muy sencillo.
Saludos

feliz-58 23-07-2013 05:13:48

Cita:

Empezado por Caral (Mensaje 464291)
Hola
Para poner el archivo INI puedes ver este tutorial que hice, te servira de ejemplo, es muy sencillo.
Saludos

listo, paso 1 y 2 ahora vamos al tres, que se tomarían en cuenta en esa tabla?

Caral 23-07-2013 05:22:26

Hola
En la tabla factura se usa:
Fecha
Numero
CodCliente
Terminos
Vendedor (si existe)
FormaDePago (tarjeta, contado, etc)
Total
En la tabla Items de fatura:
Codfactura (numero)
CodProducto
Cantidad
Precio (en ese momento ya que puede variar)
Con esto que se gana ?.
Primero la tabla factura solo contiene detalles importantes, ademas de tener un consecutivo que es importante.
Luego en la tabla FacturaItems se tienen los detalles que se necesiten de la factura.
Es mas limpio y a la hora de hacer reportes etc se complica menos esto.
saludos

feliz-58 23-07-2013 05:32:18

Cita:

Empezado por Caral (Mensaje 464294)
Hola
En la tabla factura se usa:
Fecha
Numero
CodCliente
Terminos
Vendedor (si existe)
FormaDePago (tarjeta, contado, etc)
Total
En la tabla Items de fatura:
Codfactura (numero)
CodProducto
Cantidad
Precio (en ese momento ya que puede variar)
Con esto que se gana ?.
Primero la tabla factura solo contiene detalles importantes, ademas de tener un consecutivo que es importante.
Luego en la tabla FacturaItems se tienen los detalles que se necesiten de la factura.
Es mas limpio y a la hora de hacer reportes etc se complica menos esto.
saludos

ok en la de factura ya tengo lo siguiente:
CodFactura
Fecha
CodCliente
Terminos
Vendedor
Formadepago
Codarticulo
total

y en facturaitem
Codfactura
CodProducto
Cantidad
Precio

que sigue?

Caral 23-07-2013 05:35:33

Hola
Bueno, necesitaria el archivo con los cambios que as hecho para poder ver el codigo funcionando, es la unica forma en que te podria ayudar, probandolo.
Tambien necesitaria los componentes que le pusiste al proyecto sin estos no lo puedo poner a correr.
saludos

feliz-58 23-07-2013 05:47:52

Cita:

Empezado por Caral (Mensaje 464296)
Hola
Bueno, necesitaria el archivo con los cambios que as hecho para poder ver el codigo funcionando, es la unica forma en que te podria ayudar, probandolo.
Tambien necesitaria los componentes que le pusiste al proyecto sin estos no lo puedo poner a correr.
saludos

ahora te lo envio :)

movorack 23-07-2013 06:03:42

Valla que paciencia caral, en realidad para un novato solo otro novato tiene tanta paciencia y dedicación.

feliz-58 23-07-2013 06:05:01

aqui esta, pero despues de que conecte las tablas al adoconection del modulo me dice que faltan conexiones :S :confused:

Chequea.

acá el enlace:
archivo

feliz-58 23-07-2013 06:06:46

Cita:

Empezado por movorack (Mensaje 464299)
Valla que paciencia caral, en realidad para un novato solo otro novato tiene tanta paciencia y dedicación.

parece que el unico interezado en ayudarme es caral :S :(


La franja horaria es GMT +2. Ahora son las 18:45:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi