Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Enlaces con otros porgramas (https://www.clubdelphi.com/foros/showthread.php?t=10176)

Mandrago 12-05-2004 09:11:45

Enlaces con otros porgramas
 
Muy buenas:

Soy uniniciado en este mundillo y todavia tengo las cosas un poco confusas.

He enlazado una base de datos creada en access y he creado un form elcual visualiza elcontenido delos datos de una tabla, perohaycampos que no se como enlazarlos, por ejemplo: precioCompra -> integer;

edit1.text:=modDatos.ProductoPrecio.asinteger; //Me da un error

noquiero utilizar los DBEdit, pq tb quiero poder insertar nuevos valores a la tabla.

Utilizo delphi 7

Gracias por todo.

__cadetill 12-05-2004 13:22:29

Código Delphi [-]
edit1.text:=modDatos.ProductoPrecio.AsString;

Te aconsejo la lectura de la Guía de Estilos para próximas interverciones (ver firma)

Mandrago 12-05-2004 16:27:31

Eso tampoco funciona
 
Eso que me dices tb lo he probado, pero el problema es que quiero poner el valor del edit en la tabla, es decir

ModDatos.ProductoPrecio.asString:=edit1.text; //Da error

La variable precio es de tipo entero

¿Deberia convertir la cadena string a entero?¿Como?

Gracias por tu ayuda

eduarcol 12-05-2004 16:31:49

Cita:

Empezado por Mandrago
edit1.text:=modDatos.ProductoPrecio.asinteger; //Me da un error

Todo parece indicar que vienes de nuestro estimado VB :p

Cita:

Empezado por Mandrago
noquiero utilizar los DBEdit, pq tb quiero poder insertar nuevos valores a la tabla.


Y cual es el problema, con los dbedit se pueden insertar nuevos valores a la tabla. Y checa bien el ejemplo de cadetill asi se soluciona.

Suerte

Mandrago 12-05-2004 16:41:57

Lo probare
 
Muy buenas:

Es que soy nuevo en esto y lo voy haciendo todo casi sin saber, lo probare con DBEdit, gracias por todo.

marcoszorrilla 12-05-2004 16:46:06

Código Delphi [-]
modDatos.ProductoPrecio.value:=StrToInt(Edit1.Text);

Habría antes que comprobar si el Edit contiene un valor válido o no
para evitar una excepción.

Si quieres utilizar controles DbAware, no tienes más que hacer antes
de introducir los datos:

Código Delphi [-]
MiTabla.Append;

Un Saludo.

Un Saludo.

__cadetill 12-05-2004 16:46:20

Cita:

Empezado por Mandrago
ModDatos.ProductoPrecio.asString:=edit1.text; //Da error

Seguramente da error porque no es un número válido. De todas maneras, para hacer el pasi inverso al que yo te proponía, has de hacer...

Código Delphi [-]
try
  ModDatos.ProductoPrecio.AsInteger := StrToInt(edit1.text);
except
  on E: Exception do
    Application.MessageBox( PChar('Número incorrecto. Mesaje de error:'#13 + E.Message),
                 'Atención', MB_APPLMODAL or MB_ICONWARNING or MB_OK );
end;

Más o menos. Es decir, verificar que el número introducido tiene el formato correcto (sin punto de millares)

marcoszorrilla 12-05-2004 16:51:39

Respecto a llamar a un informe hecho y almacenado en la base de datos de Access, mírate este código:

Código Delphi [-]
   In the next small example I'll demonstrate how you can
  call the report in MS Access:
   
   var 
     Access: Variant; 
   begin 
     {open the Access application}
     try 
       Access := GetActiveOleObject('Access.Application'); 
     except 
       Access := CreateOleObject('Access.Application'); 
     end; 
     Access.Visible := True; 
   
     { open the database 
      The second parameter specifies whether you want to open the 
      database in Exclusive mode}
     Access.OpenCurrentDatabase('C:\My Documents\Books.mdb', True); 
   
     { open the report 
      The value for the second parameter should be one of 
      acViewDesign, acViewNormal, or acViewPreview. acViewNormal, which is the
      default, prints the report immediately. If you are not using the type
      library, you can define these values like this: 
   
     const 
       acViewNormal = $00000000; 
       acViewDesign = $00000001; 
       acViewPreview = $00000002; 
   
     The third parameter is for the name of a query in the
   current database. The fourth parameter is for a SQL
   WHERE clause - the string must
     be valid SQL, minus the WHERE.} 
     Access.DoCmd.OpenReport('Titles by Author', acViewPreview,
   EmptyParam, EmptyParam); 
   
   <...> 
     {close the database}
     Access.CloseCurrentDatabase; 
   
     {close the Access application}
     {const 
       acQuitPrompt = $00000000; 
       acQuitSaveAll = $00000001; 
       acQuitSaveNone = $00000002;} 
     Access.Quit(acQuitSaveAll); 
   end;

Nota: La próxima vez ten en cuenta que cada hilo debe de tener una sola pregunta.

Un Saludo.

Mandrago 12-05-2004 16:53:50

Gracias
 
muchas gracias señores.

Esto ya funciona ahora esperare a solucionar mi otro problema y no tener mas, que lo veo dificil, jejeje

Gracias


La franja horaria es GMT +2. Ahora son las 22:25:34.

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