VB6, aprire un database access

giovedì 02 aprile 2009 - 15.47

Luigi3 Profilo | Junior Member

Ciao a tutti,
la cosa e' banale: ho un'applicazione in VB6, vorrei mettere un bottone, un'immagine o qualsiasi altra cosa che mi apra un file .mdb.
Qual'e' il metodo piu' semplice? Inserire un oggetto OLE? Ma im rimane un quadrato bianco nel form e fa veramente schifo? Vorrei mettere un'immagine e associargli un comando, ma non saprei qual'e'.

Chi mi aiuta?

Dainesi Profilo | Senior Member

Fammi capire meglio: l'oggetto da inserire nella Form (immagino sia un pulsante) cosa dovrebbe fare esattamente ?

.
Autore del libro sul FOREX, MetaTrader e creazione dei trading system http://ilmiolibro.kataweb.it/schedalibro.asp?id=115872

Luigi3 Profilo | Junior Member

Semplicemente aprire un file .mdb

Dainesi Profilo | Senior Member

Per aprirlo non ci vuole nulla ma importasapere cose ne devi fare. Devi mostrare i dati in una griglia ? devi compattarlo ? devi cancellarlo ? devi leggerne le proprietà ?
Cosa ?

.
Autore del libro sul FOREX, MetaTrader e creazione dei trading system http://ilmiolibro.kataweb.it/schedalibro.asp?id=115872

Luigi3 Profilo | Junior Member

Guarda e' molto piu' semplice di quello che credi.
ho creato questo file access che aprendolo mi presenta una maschera dalla quale si possono visualizzare dei report. Dal programma vb6, voglio solo eseguire il file mdb, insomma una specie di collegamento ipertestuale.
Ho provato il comando shell, ma funziona solo per i comani dos.

Dainesi Profilo | Senior Member

Quindi, se ho capito bene, tutto quello che vuoi è richiamare l'applicazione Access e che questa ti apra il file mdb che vorresti ?

.
Autore del libro sul FOREX, MetaTrader e creazione dei trading system http://ilmiolibro.kataweb.it/schedalibro.asp?id=115872

Luigi3 Profilo | Junior Member

esatto, simulare il doppio clic sul file access

Dainesi Profilo | Senior Member

Ok! Allora, devi creare una variabile oggetto e referenziarla (per il late binding) a Access.Application, oppure se sei sicuro di trovare Access sul client di rilascio optare per un più efficiente early binding. Dopo che avrai istanziato l'oggetto devi fargli compiere le azioni necessarie (rendersi visibile e aprire il file specifico).

'Esempio di Late binding
Dim oAcc As Object 'Porre questa dichiarazione in scope pubblico (form o modulo)

...

Set oAcc = CreateObject("Access.Application")
oAcc.OpenCurrentDatabase "pippo.mdb"
oAcc.Visible = True


'Esempio di Early binding (aggiungi la libreria di Access nei reference del project !)
Dim oAcc As Access.Application 'Porre questa dichiarazione in scope pubblico (form o modulo)

...

Set oAcc = New Access.Application
oAcc.OpenCurrentDatabase "pippo.mdb"
oAcc.Visible = True


Tutto chiaro ?


P.S. Nel late binding potresti anche utilizzare
Set olAccess = GetObject("D:\Lavori\Fast TradingEVO\sdFastScalpingEVO.mdb")
richiamando automaticamente l'applicazione associata al file passato, senza dover inizializzare l'oggetto su Access.


Autore del libro sul FOREX, MetaTrader e creazione dei trading system http://ilmiolibro.kataweb.it/schedalibro.asp?id=115872

Luigi3 Profilo | Junior Member

Perfetto grazie 1000!!

Faggio46 Profilo | Newbie

Ciao ragazzi, ho un problemino con il codice descritto sopra..

Se la maschera, ovvero il file mdb che vado ad aprire, mi resta in background con quale comando posso farla apparire in foregroung??

Altrimenti devo per forza andara a cercare la maschera facendo Alt+Tab.. Noioso..
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5