• Jueves 28 de Marzo de 2024, 23:07

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - shackletta

Páginas: [1]
1
C++ Builder / Ayuda Con Tchart O Dbchart
« en: Martes 6 de Septiembre de 2005, 12:47 »
Buenos días, tengo una duda, estoy intentando hacer unas gráficas con unos resultados de una consulta que hago sobre una tabla de Access. La gráfica puede tener diferentes valores en los ejes dependiendo de los parámetros de la consulta que elija el usuario. La conexión a la BD la realizo de forma dinámica, por lo que no puedo asignar un datasource a las series de en tiempo de diseño. Quiero hacerlo en tiempo de ejecución, sé cómo pasarle los valores leídos de la BD pero no sé cómo asignar valores a los ejes. A ver si consigo explicarme mejor, los valores que obtengo (de momento) son una cantidad por un año.


 Personas    Año
 1589            1996
 3451            1997
 5581            1998
 2000            1999


La idea es que en la gráfica se muestren en el eje X los años y los puntos de la gráfica sean las cantidades correspondientes, pero no sé como pasarle los años al eje X

Lo que hago para meter los datos de las cantidades en una serie es:

Código:

Código: Text
  1.  
  2.     int i = 0;
  3.     int datos = 0;
  4.     while (!Data->ADOQuery8->Eof)
  5.     {
  6.         Cantidad[i] = Data->ADOQuery8->FieldByName("Cantidad")->AsFloat;
  7.         i++;
  8.         datos++;
  9.         Data->ADOQuery8->Next();
  10.     }
  11.  
  12.     DBChart1->AddSeries(&TBarSeries(this));
  13.     DBChart1->Series[0]->Active = true;
  14.     for (i=0; i < datos; i++)
  15.         DBChart1->Series[0]->Add(Cantidad[i],"",clBlue);
  16.  
  17.  




Y veo que tanto DBChart como TChart tienen unas propiedades llamadas
RightAxis y LeftAxis, y supongo que debe ser ahí donde debo introducir los años, pero no sé como hacerlo. Alguien puede ayudarme??, la verdad es que aunque no quede bien decirlo es urgente, mañana tengo que haberlo conseguido así que agradecería cualquier tipo de información o ayuda. He consultado el manual que hay en la página de grupo albor pero no he encontrado como hacer esto en tiempo de ejecución.

Muchas gracias por vuestra colaboración.

2
C++ Builder / Para Linspire...
« en: Lunes 30 de Mayo de 2005, 08:46 »
Hola, verás no puedo responder en el mensaje "contar renglones", no me salen las opciones, pero en fin, esa dirección de correo que te dí era correcta, no sé porqué te devolvió el mail. De todas maneras te doy otra diferente, vale?

shackletta@hotmail.com

Muchas gracias por todo.... Un saludo :hola:

3
C++ Builder / Llamar A Macro/modulo De Access Desde Builder
« en: Domingo 15 de Mayo de 2005, 13:45 »
Hola a todos,tengo una duda, en mi programa me conecto a una base de datos Access mediante componentes ADO. En dicha base de datos he creado un módulo para importar una hoja de cálculo excel y convertirla en una tabla más de mi base de datos. Para ello he creado un módulo muy simple en VB de la siguiente manera:


Public Function ImportarExcel(Hoja As String)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Expediente", Hoja, True, ""
End Function

Lo que quisiera saber es como puedo llamar a este módulo desde el programa en Builder pasándole el parámetro Hoja (el nombre del libro .xls) que elegirá el usuario mediante un OpenDialog. ¿Se puede hacer esto, no?. Es que necesito resolver el problema de este modo para poder terminar mi programa. Muchas gracias por vuestras futuras respuestas.  :comp:

4
C++ Builder / Seguimos Con Access Y Ado
« en: Miércoles 17 de Noviembre de 2004, 18:24 »
Hola de nuevo, me han surgido otras dudas, a ver, os explico,  en mi programa creo la conexión ADO en tiempo de ejecución, he creado un datamodule donde he puesto la ADOConnection, una ADOTable, una ADOQuery, y también un ADODataSet, a estos 3 últimos, les asigno (en ADOConnection->OnConnectComplete) en el parámetro connection la ADOConnection que he creado.

Para realizar las consultas, debo hacer algo más? (aparte de escribirlas en la ADOQuery), es decir, tengo que vincular el ADOTable a alguna tabla de mi BD?, cómo puedo mostrar en un listbox las tablas de las que consta mi BD para así poder elegir una?, y si quiero añadir una tabla a mi BD, cómo puedo hacerlo?, porque en mi BD hay una tabla vacía con el nombre de los campos y el formato de estos, y mi idea era mostrarla en una ventana, que el usuario la rellene y luego hacer un "guardar como ...", esto es factible?, es recomendable?

Orientadme por favor, porque voy perdidisíma con esto y se me está echando el tiempo encima, a parte de que estoy a punto de caer en una depresión profunda... No sé donde encontrar más información sobre ADO y sobre todos los pasos que debería hacer, o todos los componentes que debería usar.... y no me remitais a la ayuda del builder, porque en este tema no me está solucionando nada, sólo consigue marearme más.

Gracias por todo.

:comp:

5
C++ Builder / Conexión A Bd Con Nombre Desde Diálogo
« en: Lunes 15 de Noviembre de 2004, 18:46 »
Hola de nuevo, intento realizar una conexión ADO a una BD en access cuyo nombre escoge el usuario desde un diálogo, utilizo el siguiente código:

void __fastcall TFormMainMenu::ButtonConectarClick(TObject *Sender)
{
    OpenDialogBD->DefaultExt="MDB";
    OpenDialogBD->FileName="*.mdb";
    if(OpenDialogBD->Execute())
    {
        // guardo en nombreBDLocal el nombre de la BD elegida por el usuario
        nombreBDlocal = OpenDialogBD->FileName;
        Inicializar(nombreBDlocal);
     }
     else
    {
        ShowMessage("Debe elegir una BD.");
     }
}
//---------------------------------------------------------------------------
// FUNCION Inicializar
// Realiza la conexión a la BD que el usuario ha elegido del diálogo. Se le
// asignan los parámetros correspondientes a la conexión
//---------------------------------------------------------------------------
void Inicializar(AnsiString nombre) //llama a esta función pasandole el nombre que se ha cogido desde el dialogo
{
    //Para la conexión con la BD de destino
    if(DataModule1->ConexionBDlocal->Connected==false)
    {
        AnsiString conexion="Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=";
        conexion+=nombre;
        conexion+=";Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";";
        conexion+="Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;";
        conexion+="Jet OLEDB:Database Locking Mode=2;Jet OLEDB:Global Partial Bulk Ops=2;";
        //Por defecto el locking Mode es 1!!!!!!! con 2 no se bloquea.....
        conexion+="Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";";
        conexion+="Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;";
        conexion+="Jet OLEDB:Don't Copy Locale on Compact=False;";
        conexion+="Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
        DataModule1->ConexionBDlocal->ConnectionString = conexion;
        DataModule1->ConexionBDlocal->Connected = true;
    }
}

Pero me da una EOleException con el mensaje "No se estableció el valor de una propiedad de sólo lectura ",  alguien sabe a que se refiere esto??, la función inicializar debería pertenecer a una clase ¿no?, cómo podría ponerla??, y dónde??

Ambas funciones están en el .cpp del mainform, y nombreBDlocal la he definifo como un AnsiString de manera global también en el mismo .cpp ¿Qué más debería hacer?¿O que no debería hacer?

De todas maneras, si alguien puede indicarme otra forma de hacer lo mismo, que me lo diga POR FAVOOOOOR!!!
 :comp:

Muchas gracias.

6
C++ Builder / Re: Conexión Con Ado, Datamodules Etc
« en: Jueves 11 de Noviembre de 2004, 20:25 »
Hola, soy nueva en esto, veréis, estoy desarrollando un proyecto, es la primera vez que utilizo c++ builder, y a pesar de haber programado ya en c++ voy bastante perdida.

Os explico un poco, tengo que acceder a una base de datos en access, que el usuario debe seleccionar, para ello he puesto un botón en el form principal que al apretarlo abre un diálogo, una vez he recogido el nombre ¿cómo se lo paso a la ADOConnection?.

Por otra parte tengo un main menu en el form principal, en varias de las opciones se abren otros formularios, y desde ahí tengo que trabajar con la base de datos, ¿cómo hago para no tener que establecer una conexión cada vez?, ¿tengo que poner un datamodule en cada nuevo form?, uff, he intentado hacer "usable" el datamodule del form principal en el resto de forms pero no sale.

Muchas gracias, leyendo las consultas de vuestro foro he resuelto varias de las otras dudas que tenía, seguro que seguís viéndome por aquí. Ciao.

 :comp:

Páginas: [1]