Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 05-02-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Poder: 14
mizzard Va por buen camino
Hola de nuevo, te adjunto esto a modo de información

Microsoft Jet 4.0 OLE DB Provider -> Sólo para versiones anteriores a Access 2003 (incluido)

Microsoft Office 12.0 Access Database Engine OLE DB Provider -> Sirve para poder utilizar BBDD posteriores a Access 2003 (2007 y 2010) cuya extensión es *.accdb

http://msdn.microsoft.com/es-es/libr...sql.90%29.aspx
(recuadro amarillo)

Como el programa que estoy haciendo lo quiero instalar en diferentes PCs, ya que me pongo, pues aprovecho y utilizo un motor de Access que pueda funcionar tanto con BBDD Access en formato antiguo y formato nuevo y tb que pueda funcionar tanto en WinXP, WinVista y Win7.

Lo que me queda pendiente es probar más adelante en un Win7 x64 a instalar el AccessDatabaseEngine para 64 bits y ver si funciona, que hice una prueba rápida y no iba... (tampoco funciona con Microsoft Jet 4.0 OLE DB Provider ya que Win7 no lo incorpora).

Por otro lado lo de incorporar el archivo *.udl, es por si se desea instalar la aplicacion (metida previamente en un instalador) en una ruta diferente a la de por defecto, ya que si no está ubicada en el mismo sitio que donde puse yo a la hora de programar la aplicación, dirá que no se encuentra la ruta de la BBDD, no es cierto?

Un saludo!
Responder Con Cita
  #22  
Antiguo 14-06-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Poder: 14
mizzard Va por buen camino
Nueva duda

Hola de nuevo. Perdon por la tardanza pero me he estado centrando en otros aspectos y este en concreto lo he dejado para el final.

Después de volver a retomar todo lo que se comentó en el thread, ya he conseguido mostrar la informacion que quiero en el informe conectando a una BBDD pasándole el connection string correspondiente

El problema me surge cuando el conector de la base de datos lo conecto en el momento que arranca la aplicacion, esto es pq el programa quiero q sea portable por lo q al arrancar el programa detecta la ruta en donde se encuentra y entonces ya se encontrar el archivo .mde (access 2007 compilado) para operar con el.

El caso es que cuando realizo todas las operaciones oportunas y tiro a mostrar el informe, me dice salen las etiquetas pero en los campos de texto pone no valid.

Como resulta que hasta que no arranque el programa no se conecta a la BBDD, me resulta imposible visualizar los campos, por lo que me cree otra conexion con la ruta de mi pc, visualice los campos e hice el reporte a mi antojo y luego volvi a modificar la conexion a la automática.


Otra duda que se me plantea es si desde C++builder 2010 puedo modificar el "caption" de una etiqueta que este dentro del informe.

Espero vuestra contestación y muchas gracias por adelantado!
Responder Con Cita
  #23  
Antiguo 14-06-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Poder: 14
mizzard Va por buen camino
También puede que me de el problema de que al actualizar un dato en una tabla y luego al hacer un query de una consulta ya hecha en access de diferentes tablas, la consulta no esté actualizada, ¿como se podria indicar que se actualizaran los datos despues de un comando de INSERT INTO usando un ADOCommand?
Responder Con Cita
  #24  
Antiguo 14-06-2011
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Veras el “(invalid)” generalmente sale porque no encuentra los campos que le indicaste en el reporte, no recuerdo si importa en acces (porque en firebird no), pero en caso de que importe, trata de poner el nombre de los campos exactamente igual que en el reporte (con mayúsculas/minúsculas y todo). También podría ser que cambiaste la estructura de la tabla y/o consulta y no actualizaste el DataView, si no sabes como refrescarlo te dejo una imagen.

En cuanto a lo segundo claro que se puede, pero hay dos modos la forma fácil la cual es pasarle parámetros al reporte y dejar que un DataText pinte ese parámetro, y la otra que es la manera difícil e involucra buscar el objeto y modificarlo como cualquier otro objeto de builder, ten en cuenta que para este método es necesario que estés bien parado en cosas como punteros, clases, propiedades y demás cosas. En qué forma quieres cambiar el caption? Ese caption es un título o algo por el estilo?
Responder Con Cita
  #25  
Antiguo 14-06-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Poder: 14
mizzard Va por buen camino
Hola de nuevo, he probado a hacer lo q me dices sin éxito, es más hasta he encontrado un problema similar:
http://www.delphipages.com/forum/arc.../t-133749.html

Como bien dices si la Connection String del ADOConnection esta hecha y el Strings del ADOQuery tb y activado, cuando me voy al rave boton derecho en mi dataview y refresco, todo funciona ok.

El problema persiste cuando configuro todo lo citado anteriormente en tiempo de ejecucion por los siguientes motivos:

1- Cuando se ejecuta la aplicacion busco la ruta, esto hace que pueda ser portable.

2- El filtrado del Query cambia en diferentes momentos del programa, no puedo poner una condicion Where prefijada.

Al considerar esto, pruebo a poner los campos literalmente como los tengo en access y le doy a refresh en el dataview... obviamente como no hay ningún parámetro de conexion ni consulta, los campos desaparecen.

Lo q no entiendo es si lo configuro todo antes de ejecutar el report, cuando este arranque deberia tomar ya la configuracion pasada, es más, salen tantos registros invalid como registros hay, lo malo es que no pone el campo.

No se si me explico.... bufff que rabia, a punto de terminar y me surge este problema que no se darle solucion....

Otra opción que me planteo pero q no se si es posible, es la de intentar imprimir un informe ya hecho en access pero pasándole desde C++Builder el filtrado de la consulta.

Lo de cambiar el caption de un text, era simplemente pq deseo imprimir 2 copias del mismo reporte, solo que en una de ella debe poner copia cliente y otra copia propia. Si todo lo que quiero funcionase, creo q bastaria con crear un report2 dentro de mi proyecto .rav y mandar a imprimir los 2 siendo ambos idénticos pero cambiando eso... pero como no consigo que funcione.....


Alguna idea??? Cualquier duda, sugerencia sera bienvenida!!! muchas gracias y un abrazo!
Responder Con Cita
  #26  
Antiguo 14-06-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Poder: 14
mizzard Va por buen camino
Ya esta solucionado!!!!

Lo que hay que hacer es primero simular la conexión para que aparezcan los campos, hacer la estructura del reporte y luego desde el builder cambiarlo para que se modifique a tiempo real.
Lo que no hay que hacer es darle a refresh despues de todo esto en el rave, ya que provocara que salga el invalid.

Con respecto lo de los caption, he hecho lo que comente, dos paginas iguales y cambiando el texto que quiero y funciona de maravilla.

Ahora voy a probar a cambiarlo todo de ruta a ver si sigue funcionando.

Muchas gracias y espero que este thread ayude a mas de uno!

Un abrazo!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como imprimir desde bases de datos. Lepe Impresión 1 07-01-2008 23:25:09
Como extraer datos para imprimir factura Petolansa Impresión 3 07-11-2007 23:43:48
Como imprimir mis datos en un reporte de html Goyo Impresión 3 01-02-2007 23:05:10
Como capturar datos de la ventana Imprimir? JuanErasmo C++ Builder 0 23-01-2006 16:39:20
¿Como puedo imprimir los datos de una tabla? superhopi Impresión 2 05-05-2003 15:59:44


La franja horaria es GMT +2. Ahora son las 21:52:22.


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
Copyright 1996-2007 Club Delphi