• Miércoles 8 de Mayo de 2024, 01:35

Autor Tema:  Como Ref. En Datareport El Connectionsource  (Leído 3557 veces)

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Como Ref. En Datareport El Connectionsource
« en: Viernes 12 de Marzo de 2004, 18:41 »
0
:hola: Hola amigos,

Estoy terminando con los informes, y resulta que cuando la Base de datos la muevo ya no salen porque no la encuentra.

Como sabeis no hay problema si la colocamos en ConnectionSource de esta manera:

Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\Publicacion.mdb

Pero si al instalar el programa la colocanen otro directorio ya no la encuentra.

¿ Como y donde puedo decirle yo a la ConecctionSource que esta la basa de datos cuando la necesita para hacer un informe?

¿ Tambien tengo problemas con los documentos horizontales no me salen, sabeis porque? ¿ Donde debo decirle que es apaisado?

Gracias, espero que podais ayudarme, necesito acabar esto.

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #1 en: Viernes 12 de Marzo de 2004, 21:26 »
0
sencillo:

Datareport.ConnectionSource = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" + app.path + "\Publicacion.mdb"

Y listo :D
QliX=D! - From the top of Tsunami

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #2 en: Viernes 12 de Marzo de 2004, 22:56 »
0
:hola: Hola soy yo nuevamente, gracias por tu atención, pero donde tengo que poner ese código,

¿ En propiedades? - No encuentra el fichero

¿En Private Sub DataEnvironment_Initialize() ? - Necesita un objeto

¿En Private Sub PUBLICACION_InfoMessage(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)?  - Necesita un objeto

lo he probado en todos los sitios, te agradecería que me lo aclararas. solo funciona esta línea pero cuando esta en propiedades ConnectionSource:

' Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\PUBLICACION.mdb

 :(

elmango80

  • Miembro MUY activo
  • ***
  • Mensajes: 149
  • Nacionalidad: ve
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #3 en: Sábado 13 de Marzo de 2004, 06:08 »
0
Hola Trazos!!!

Ese codigo lo debes colocar en el evento Load del formulario... Recuerda refrescar el objeto despues de modificar el valor de ConnectionSource
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #4 en: Sábado 13 de Marzo de 2004, 11:00 »
0
:hola: Estimado amigo, ya lo hice lo puse en el Form Menu  en su Load  pero me dice que le falta un objeto,

gsdatabase = "C:\PUBLICACION.MDB"
DataReport.ConnectionSource = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" + gsdatabase

y si le pongo el nombre del formulario


Menu.DataReport.ConnectionSource = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" + "c:\Publicacion.mdb"

 me dice que no encuentra el método o miembro de datos.


Espero vuestra ayuda gracias.

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #5 en: Lunes 15 de Marzo de 2004, 16:13 »
0
Eso deberia ir en el initialize de la conexion que tengas asignada en tu  Dataenviroment:

Código: Text
  1.  
  2. 'Este codigo va en la vista de codigo del DataEnvoroment que uses
  3. private gsdatabaseName = "\PUBLICACION.MDB"
  4.  
  5. 'Connection1 es la conexion que uses para la DB...
  6. Private Sub Connection1_WillConnect(ConnectionString As String, UserID As String, Password As String, Options As Long, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
  7.  
  8.   connection1.ConnectionString  = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" + app.path + gsdatabaseName
  9. End Sub
  10.  
  11.  

Aproposito un datareport no tiene la propiedad connetionsource (o al menos no la veo yo en mi VB6)
SI tiene la propiedad Datasource que tiene que ser = a el Datareport donde se encuentre la conexion que arriba estas haciendo.
El datareport en DataMember tieneque tener el nombre del miembro de datos a ver, o sea el command que desees que utilice como origen de datos para el reporte.

Esto deberia funcionar (tal vez con algunos cambios menores...)
QliX=D! - From the top of Tsunami

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #6 en: Lunes 15 de Marzo de 2004, 18:55 »
0
:hola: Hola gracias por vuestra ayuda, he comprobdo las propiedades del Dataenviroment y existe connectionsource.

Esta línea:

private gsdatabaseName = "\PUBLICACION.MDB" no la admite da errores continuos dice que se esperaba FIN DE LA INSTRUCCION solo admite                private gsdatabaseName (PUBLICACION.MDB) pero da ATRIBUTO NO VÁLIDO EN PROCEDIMIENTO O FUNCION.

Eliminando la linea anterior y variando esta

connection1.ConnectionString  =
"Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" + "C:\PUBLICACION.DB"
END SUB
 
Me pide nombre de DNS

Estoy un poco liado, serias tan amable de explicarmelo nuevamente simplificando los pasos, es que no arranco.
Gracias espero vuestra ayuda.

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #7 en: Lunes 15 de Marzo de 2004, 19:36 »
0
NO es tan complicado  <_<

Te adjunto los archivos para que veas como es el tema...

Ni que estuviese hablando en chino :S


Las varaibles en un sub (o funct) se DEBEN declarar con Dim o static, no podes declarar como privadas o publicas.

No es tan complicado mira los archivos adjuntos y veras...  ;)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
QliX=D! - From the top of Tsunami

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #8 en: Lunes 15 de Marzo de 2004, 21:40 »
0
:hola: Hola garcias por vuestra paciencia, es que tenia un lio en la cabeza y no lo veia, ya lo tengo pero meda el siguente error


El proveedor sumistrado es diferente del que ya esta en uso

Estoy utilizando VB6 y la BD es de Acces 97, tiene algo que ver onel error?

Gracias por la paciencia demostrada. Espero vuestra ayuda.

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #9 en: Martes 16 de Marzo de 2004, 04:47 »
0
Fijate en el "Provider" que usas por defecto y de usar el mismo dps.
QliX=D! - From the top of Tsunami

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #10 en: Martes 16 de Marzo de 2004, 18:21 »
0
:hola: Hola chicos, soy yo nuevamente me parece que estoy pesado pero esto no consigo que tire.

He corrido la rutina que me enviaste y efectivamente funciona, pero asi tambien funciona la mia, el problema surge cuando creamos un informe, tanto en tu rutina como en la mia, al abrirlo es cuando da el error:


El proveedor sumistrado es diferente del que ya esta en uso

y he buscado pero no encuentro donde se comprueba el Provider y DNS

a veces haciendo cambios y probando me sale una ventana preguntádome por el DataSource etc... lamento estar tan pesado con esto, pero es muy importante para mi e incluso creo que puede ayudar a mas gente, es un tema poco conocido y muy útil.

Gracias espero que podais ayudarme.

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #11 en: Martes 16 de Marzo de 2004, 21:42 »
0
connection1.ConnectionString  = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" + app.path + gsdatabaseName

Si te fijas por ahí y revisas el valor del provider antes de entrar a la funcion depurando o con la propiedad provider del objeto?

Mas que esto de ayuda ya implica que me pases la paplicacion y te la haga :P

Aunque si tenes muchos lios enviala.. y vemos..  :blink:
QliX=D! - From the top of Tsunami

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #12 en: Martes 16 de Marzo de 2004, 22:22 »
0
:hola: Valeeeeeeeeeee, pero la línea que me has dicho esta revisada y esta bien lo que no se es porque pone que EL PROVEEDOR ES DIFERENTE DEL QUE YA ESTA EN USO, ¿donde se le dice el proveedor que tiene que utilizar?

Además la aplicación que tu has mandado tambien da el error, a partir de que creas un informe y quieres ejecutarlo.

Por favor no perdais la paciencia, gracias

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #13 en: Miércoles 17 de Marzo de 2004, 15:17 »
0
Fijate la cadena de conexion que tenes antes de conectarla.
y verifica uqe estes desconectado antes de cambiar la cadena de conexion en el ejemplo que te mande.
Y listo.
QliX=D! - From the top of Tsunami

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #14 en: Miércoles 17 de Marzo de 2004, 19:52 »
0
:hola: Hola, te lo he dicho en el correo anterior, ya lo he probado todo, el programa que me has mandado funciona, pero

Al crear un informe e intentar abrirlo me sigue saliendo el dichoso

El proveedor sumistrado es diferente del que ya esta en uso

le he puesto que me diga el Provider y me sale MSDASQL.1

¿ Serias tan amable de probar tu programa abriendo un informe (con datos) ? quizá así veas mejor lo que te digo, no se como decirle al programa que la connection es otra.

connection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" + app.path + nombredb

Sin datos funciona bien. Si es necesario te envio mi programa es poca cosa, si sirve para ayudarme y mejorar.

Gracias espero tu ayuda.

shaman61

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #15 en: Sábado 20 de Marzo de 2004, 21:54 »
0
estuve leyendo todo el desarrollo de tu problema, y aqui te envio un codigo que sirve para mi

Private Sub DataEnvironment_Initialize()
Dim direccion As String
direccion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Principal.mdb" & ";Persist Security Info=False"
Connection1.ConnectionString = direccion
End Sub

oviamente es uno de los eventos del dataenvironment solo lo colocas y ya
bye espero te sirva
 :hola:

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Ref. En Datareport El Connectionsource
« Respuesta #16 en: Viernes 26 de Marzo de 2004, 16:30 »
0
:smartass: Gracias!!!! a todos por vuestra paciencia y ayuda. Desarrollando todo esto que me habeis aportado he onseguido aprender y además he ido utilizandolo para otras rutinas que no tenia salida.

He utilizado la ayuda de QliX=D! solo hay una pequeña variación en lugar de poner toda la línea en el código solo hay que poner una parte osea:

Private Sub DataEnvironment_Initialize()
      gsdatabase = "PUBLICACION.MDB"
      DataEnvironment1.PUBLICACION.ConnectionString = "Data Source = "+         App.Path + "\" + gsdatabase
End Sub

y esto en PROPIEDADES de la Conexión en ,ConnectionSource

Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False

lo pongo aqui por si alguien lo necesita a mi ha venido de perilla.
shaman61 gracias también a ti, he probado tu rutina y también funciona, la guardaré seguro que le daré aplicación. Gracias a todos por vuestra ayuda y especialmente a shaman61 y QliX=D!.