Newsgroup: it.comp.appl.access
Titolo: Controllo tabelle collegate.

Salve a tutto il NG,
ho realizzato nel mio db una maschera chiamata controllotabelle che faccio
aprire tutte le volte che parte il db.
Ora mi domando se invece di creare una maschera vuota con del codice
associato , si può fare un modulo o funzione con il codice della maschera.
Il codice della mia maschera è il seguente :
**inizio codice****
Option Compare Database
Private Sub Form_Load()
Dim dbs As Database, rst As Recordset
On Error GoTo Gest_err
Set dbs = CurrentDb()
Set rst = CurrentDb.OpenRecordset("accettolicenza")
app = rst.EOF
Gest_err:
If Err = 3024 Then GoTo riallega Else
If Err = 3044 Then GoTo riallega Else
GoTo fine
riallega:
MsgBox "Le tabelle non sono collegate." & Chr(13) & "Nella schermata
successiva selezionate il DB che le contiene ! " & Chr(13) & "Se effettuate
la scelta errata poterebbe verificarsi la perdita di tutti i dati.",
vbCritical, "Ricollegare le tabelle !"
DoCmd.OpenForm "treeview", , acNormal
fine:
DoCmd.Close
End Sub
****fine ******
La maschera treeview è anch'essa superflua se fosse possibile eseguirne il
codice tramite modulo.
Il codice della maschera treeview è il seguente :
******inizio***********
Option Compare Database
Private Sub Form_Load()
Dim db As Database
Dim tabAllegata As TableDef
Dim i As Long
Dim percorso As String
Set dbsFatt = CurrentDb
Dim fb As OPENFILENAME
    Dim fName As Variant
    Call ShowFile(Me, fb)
    fName = Left(fb.lpstrFile, InStr(fb.lpstrFile, vbNullChar) - 1)
    txtFile = fName
percorso = txtFile
DoCmd.Hourglass True
If percorso = "" Then
DoCmd.Hourglass False
Exit Sub
End If
With dbsFatt
For i = 0 To .TableDefs.Count - 1
If .TableDefs(i).Connect <> "" Then
.TableDefs(i).Connect = ";DATABASE=" & percorso & "; pwd=paroni"
.TableDefs(i).RefreshLink
End If
Next i
End With
DoCmd.Hourglass False
MsgBox "Le tabelle sono state ricollegate. " & Chr(13) & "Riaprire il DB per
apportare le modifiche."
DoCmd.Close acForm, "controllotabelle"
Set dbsFatt = Nothing
Application.Quit
End Sub
********fine**********
possiedo un modulo chiamato treeview con il seguente codice :
Option Compare Database
Public Const OFN_FILEMUSTEXIST = &H1000
Public Const OFN_HIDEREADONLY = &H4
Public Const OFN_PATHMUSTEXIST = &H800
Public Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustomFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type
Public Declare Function GetOpenFileName Lib "comdlg32.dll" _
        Alias "GetOpenFileNameA" (lpofn As OPENFILENAME) As Long
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)
        .hwndOwner = frm.Hwnd
        .hInstance = 0
        .lpstrFilter = ".MDB" & vbNullChar & "*.mdb" & vbNullChar
        .nMaxCustomFilter = 0
        .nFilterIndex = 1
        .lpstrFile = Space(256) & vbNullChar
        .nMaxFile = Len(.lpstrFile)
        .lpstrFileTitle = Space(256) & vbNullChar
        .nMaxFileTitle = Len(.lpstrFileTitle)
        .lpstrInitialDir = path & vbNullChar
        .lpstrTitle = "Scelta File" & vbNullChar
        .flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY
        .nFileOffset = 0
        .nFileExtension = 0
        .lCustData = 0
        .lpfnHook = 0
    End With
    result = GetOpenFileName(fb)
    If result <> 0 Then
        fName = Left(fb.lpstrFile, InStr(fb.lpstrFile, vbNullChar) - 1)
    End If
End Sub
*******fine modulo********
Grazie a tutti color che mi aiuteranno in questa cosa.
Con simpatia,
grazie
Marco.

 Marco.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------