Ir al contenido


Foto

[RESUELTO] como hacer campo calculado en access


  • Por favor identifícate para responder
60 respuestas en este tema

#21 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 04:05

Hola
Uno que es Xmanifiest o algo asi.
No se si sera de las Indy.
Saludos
  • 0

#22 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 04:13

Ya esta es el Estilo de Window xp ya esta quitado ahy esta:
  • 0

#23 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 04:16

Hola
Bien, ya lo tengo.
Aparte de arreglar la conexion y de cambiar otras cosas que es lo que necesitas con la parte ue pedias.
Que en el dbdet6 salga el total de la suma del 4 y 5 cuando se mueve el dbnavigator ?.
Saludos
  • 0

#24 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 04:22

si y cuando yo introduzca los valores DBEdit4 + DBEdit5 aparesca el total en el. si miras el form llamado APS tiene una busqueda que luego la presento para imprimir, pero quiero que ahy me sume todo el total de los campos que yo busque. yo tengo una idea de como hacerlo con una campo carculado.
  • 0

#25 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 04:29

Hola
Bien, no me corre, se ejecuta pero no sale nada.
Lo voy a hacer todo de nuevo (vale que es poco codigo).
Dame unos minutos.
Saludos
  • 0

#26 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 04:37

me gustaria que le dejaras comentario a los que hagas, porque el objetivo principal no es que lo hagas hermano, sino yo aprender. ejjeje. gracias
  • 0

#27 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 04:57

Hola
Sigueme:
1: En el datamodule.
Presiona el adconnection y en la propiedad LoginPromt ponla en false.
2: Dale doble click a la parte blanca del datamodule, ahi estaras en el evento Oncreate.
Coloca esto:


delphi
  1. Var
  2. BaseDeDatos, ConStr : String;
  3.     IniFile: TIniFile;
  4. begin
  5.   // Obtiene la ruta y el nombre de la base de datos
  6.   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');
  7.   BasedeDatos := IniFile.ReadString('BD','Path','');
  8.   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
  9.   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
  10.             'Data Source='+BaseDeDatos+';'+
  11.             'Persist Security Info=False;'+
  12.             'Jet OLEDB:Database Password=admin';
  13.   ADOConnection1.ConnectionString := ConStr;
  14.   ADOConnection1.Open;


3: En el archivo INI que tienes (BDatos) coloca la direccion que tienes de la bd, creo que la tienes bien asi:

[BD]
Path="C:\Documents and Settings\Administrador\Mis documentos\Relaccion_Factura_FArmacia\Facturacion.MDB"
[Logon]
Auto="No"
Login=""
Pass=""

Corre el programa y me dices si ya te funciona el INI.
Recuerda que el archivo    BDatos tiene que estar en el mismo directorio que el ejecutable, osea el programa principal.
Veamos esta primera parte y me dices.
Saludos
  • 0

#28 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 05:17

listo funciona bien.

  • 0

#29 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 05:24

Hola
Vamos con el form APSR:
Ahi es donde quieres hacer el calculo, verdad?.
Tienes tres DBEdits, 4, 5 y 6.
Estos estan enlazados al los campos ValorARS, Dif_Asegurado, ValorTotal.
Al estar enlazados los valores salen, solo cuando se insertan nuevos se ponen en Blanco.
Estamos ?.
Si quieres que el valor salga cuando cambies el valor de los dbedits del 4 y del 5 tienes que especificar que este en el modo de insercion y se puede hacer o bien desde el dataset o en el dbedit 5 que seria el ultimo en recibir el valor.
Otra opcion seria usar edits normales.
Tu dime que quieres ?.
Saludos


  • 0

#30 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 05:34

me gustaria hacerlo con edit, seria mas facil, yo tengo una idea de como seria con edit pero no habia pensado hacerlo asi. jejej. pero hagamo las en edit.
  • 0

#31 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 05:41

Hola
No es mas facil o mas dificil, es mas codigo ya que hay que primero enlazar los edits al dataset, esto para que cuando se presente la informacion se vea como si fuera un dbedit, luego se necesita hacerlo al revés, que cuando se escriba se actualice el dataset.
Te voy a dar la opcion de los dbedits, si no te gusta lo hacemos con edits, te parece?.
Saludos




  • 0

#32 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 05:49

okay adelante. amigo.
  • 0

#33 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 06:07

Hola
Que bueno, por que no tengo ganas de hacer mucho codigo :D :D
Primero piensa en una cosa:
Cuando se presiona el boton de insertar del dbnavigator se ponen los DBEdits en blanco, osea, Blanco, nada.
Si no se coloca la suma en el evento adecuado o no se especifica que este en cero (0) saldra un error ya que no se puede sumar un numero con nada.
Para evitar eso lo que hacemos es indicar:
1: que el dataset este en modo insercion.
2: que si esta en insercion tanto el dbedit 4 como el 5 esten en cero, siempre y cuando no se coloque un numero.
3: que los sume y coloque en el dbedit 6 el resultado.
Bien:
Colocate en el datasource.
En el evento ONStateChange coloca esto:


delphi
  1. If ADOTable1.State = dsInsert then
  2.   begin
  3.   If (DBEdit4.Text = '') or (DBEdit5.Text = '') then
  4.   begin
  5.   DBEdit4.Text:= '0';
  6.   DBEdit5.Text:= '0';
  7.   end;
  8.   end;


Si esta en modo insercion y estan lo dbedits en blanco los pondra con un cero, esto evitara errores.
Ahora en el mismo datasource en el evento OnDatachange coloca esto:


delphi
  1. DBEdit6.Text := IntToStr(StrToInt(DBEdit4.Text) + StrToInt(DBEdit5.Text));


Recuerda que estamos hablando de campos integer.
A ver que pasa, dime como va.
Saludos




  • 0

#34 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 06:24

Perfecto. ahy esta como quiero
muchas gracias amigo
  • 0

#35 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 06:30

Caral, pero mira en APS, yo quiero que me aparescan las facturas que yo hice en  APSR, ahy esta como yo la hice pero no creo que es la forma correcta. yo le pegue un grid y le hago una busqueda por fecha y lo que me muestre con el quickreport para imprimir de ADoQueri que esta enlazado con el Grid.
  • 0

#36 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 28 agosto 2011 - 06:52

Hola
El QReport esta dentro del form, eso esta raro, por lo menos a mi no me gusta, yo lo haria como un form mas.
Cambia esto:
En el string del adoquery dejalo en blanco y pon esto en el boton buscar y en el evento onchange del datetimepicker:


delphi
  1. procedure TAPS.BitBtn1Click(Sender: TObject);
  2. begin
  3. ADOquery1.Close;
  4. ADOquery1.sql.text:= 'SELECT * FROM ars_aps '+
  5.                     'WHERE Fecha  >= :MiParametro1 AND Fecha <= :MiParametro2';
  6. ADOQuery1.Parameters.ParamByName('MiParametro1').Value := DateToStr(DateTimePicker1.Date);
  7. ADOQuery1.Parameters.ParamByName('MiParametro2').Value := DateToStr(DateTimePicker2.Date);
  8. ADOquery1.Open;
  9. end;
  10.  
  11. procedure TAPS.DateTimePicker2Change(Sender: TObject);
  12. begin
  13. ADOquery1.Close;
  14. ADOquery1.sql.text:= 'SELECT * FROM ars_aps '+
  15.                     'WHERE Fecha  >= :MiParametro1 AND Fecha <= :MiParametro2';
  16. ADOQuery1.Parameters.ParamByName('MiParametro1').Value := DateToStr(DateTimePicker1.Date);
  17. ADOQuery1.Parameters.ParamByName('MiParametro2').Value := DateToStr(DateTimePicker2.Date);
  18. ADOquery1.Open;
  19. end;


Creo que es esto lo que preguntas.
Saludos
  • 0

#37 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 08:40

okay caral el QReporte esta en mismo form lo hice para que funcione el preview ahy mismo para que el usuario no tenga que dar tantos paso para imprimir. si tienes otra manera mas facil te lo agradeceria y yo quiero ponerle un campo calculado para cuando le de a imprimir me sume todo lo de la columna total.
  • 0

#38 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 28 agosto 2011 - 10:01

Caral si vez en panel principal tengo barrios botones que tendran el mismo form, que deberia hacer dublicar este form y pegarlo o hacer uno nuevo. que me recomiendas???

  • 0

#39 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 agosto 2011 - 09:31

Hola
No entiendo a que te refieres ?.
Saludos
  • 0

#40 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 29 agosto 2011 - 10:44

Me refiero aque tengo que hacer otro form como el de APSR para llenar las otras tablas de mi BD o como puedo hacer para llenar otras tablas desde ese mism form.
que tenga la opcion de coger la Tabla donde se guardaran los datos. porque mi bd tienes varias tablas?
  • 0




IP.Board spam blocked by CleanTalk.