Newsgroup: it.comp.appl.access
Titolo: DB Access2003 win 7 32 bit su win 7 64 bit

Salve,
come indicato nell'oggetto devo far girare un D perfettamente
funzionante su un pc con windows 7 a 32 bit su uno con il S.O. windows
7 a 64bit.
Ho provato a leggere qualcosa in rete ma a parte l'aver risolto i
problemi di apertura del DB (inserendo l'attributo PtrSafe tra Declare
e Function del modulo) non riesco a far funzionare l'automatismo che
mi consente di aprire la finestra di dialogo per la selezione di un
file (msg. 6.22 sitocomune - Stefano Bettini).
Qualcuno può aiutarmi?
Grazie
Michele


Usare FileDialog ti dava orticaria...?
 
@Alex

> Usare FileDialog ti dava orticaria...?
 
un prurito esagerato! :D
 
-- 
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.
 
Lontani anni luce da un'omuncolo del genere... l'antitesi
dell'equilibrio, la
fioritura dell'inadeguatezza, lo splendore
dell'impreparazione, l'abnegazione
dell'arroganza, la sublimazione della tuttologia,
l'amplificazione
dell'inconsistenza, l'esasperazione della demagogia,
l'eplosione della
melodrammaticità. Una soubrette pettegola e parrucchiera,
quello al massimo e'.
 

 Pablitomf
 
;-)
Ciao Ragazzo... tutto bene...?
 
@Alex


Dovete perdonare la mia "ignoranza" ... non sò neanche che significa
File Dialog ma non mi dispero provero' ad imparare anche questo,
del resto come diceva il Grande Eduardo "gli esami non finiscono
mai" (non per tutti a quanto sembra).
Senza offesa ma devo registrare comunque uno spirito di patate,
credevo che la newsgroup dovesse dare supporto ai meno "esperti"
ma quanto pare mi sbagliavo, fermo restando che ci sono per fortuna
tantissimi "AMICI" sempre molto disponibili, comunque grazie
lo stesso.
 
Saluti fraterni
 
MIchele

On 7 Giu, 12:10, 
mic...@inwind.it
 wrote:

Se ti può essere di aiuto e poichè anche io utilizzo W7 64 bit e tutto
funziona benissimo, crea nel tuo db un nuovo modulo e incolla quanto
segue:
Public Sub ShowFile(frm As Form, fb As OPENFILENAME)
    Dim fName As String
    Dim result As Long
    Dim path As String
    path = "C:\"
    With fb
        .lStructSize = Len(fb) 'Size of the structure
        .hwndOwner = frm.hWnd  'Handle to window opening the dialog
        .hInstance = 0         'Handle to calling instance (not
needed)
        .lpstrFilter = "Tutti i file (*.*)" & vbNullChar & "*.xls" &
vbNullChar _
 
        '.lpstrCustomFilter is ignored -- unused string
        .nMaxCustomFilter = 0
        .nFilterIndex = 1                           'Default filter is
the first one (Text Files, in this case)
        .lpstrFile = Space(256) & vbNullChar        'No default
filename. Also make room for received path and _
                                                     filename of the
user's selection.
        .nMaxFile = Len(.lpstrFile)
        .lpstrFileTitle = Space(256) & vbNullChar   'Make room for
filename of the user's selection
        .nMaxFileTitle = Len(.lpstrFileTitle)
        .lpstrInitialDir = path & vbNullChar        'Initial directory
is C:\
        .lpstrTitle = "Scelta File" & vbNullChar    'Title of file
dialog
        .flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or
OFN_HIDEREADONLY
        .nFileOffset = 0                            'The rest of the
options aren't needed.
        .nFileExtension = 0
        '.lpstrDefExt is ignored -- unused string
        .lCustData = 0
        .lpfnHook = 0
        '.lpTemplateName is ignored -- unused string
    End With
    result = GetOpenFileName(fb)
    If result <> 0 Then
        fName = Left(fb.lpstrFile, InStr(fb.lpstrFile, vbNullChar) -
1)
    End If
End Sub
 
... ora nella seconda riga del modulo della maschera da dove devi
richiamare la finestra di dialogo di apertura file incolla:
 
Dim fb As OPENFILENAME
Dim RetVal As Long
 
... e infine.... incolla il seguente codice - per esempio in un
pulsante - per aprire la finestra di dialogo:
 
Call ShowFile(Me, fb)
fName = Left(fb.lpstrFile, InStr(fb.lpstrFile, vbNullChar) - 1)
 
il gioco dovrebbe essere fatto
Saluti by M7a1x
 


Ciao a tutti.
Scusate è passato un secolo lo so, ma io ho lo stesso problema con win 7 a 64 bit proprio usando il metodo qui descritto da M7a1x.
Sto provando ad usare filedialog ma non so come prelevare il nome ed il percorso del file che mi serve.
 
Ciao a tutti

 - Mostra testo citato -
 
Prova ad essere più preciso. Che tipo di problemi ti dà? Che errore?
Saluti
M7a1x

Il Codice che ha suggerito M7a1x è funzionale, ma per i meno esperti
richiede la dichiarazione API:
 
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
 
Detto questo, sapendo che il S.O. è a 64Bit... suggerirei di fare
molta attenzione alle API per il 32 e per il 64 bit... che spesso
richiede la predisposizione
della Compilasione CONDIZIONALE del codice usando la Kost VBA7
disponibile solo da A2010...!
 
Oltretutto quando si può evitare l'uso delle API perchè complicarsi la
vita...!
 
Avevo suggerito FileDialog, Oggetto nativo della Office Library che
Bypassa il problema API.
 
Non capisco se la voglia di complicarsi la vita deriva dalla non
conoscenza degli strumenti base o altro...!
 
@Alex