Rete - Connessione




Rete # In questo esempio di utilizzano le proprieta' Connect e SourceTableName per collegare diverse tabelle esterne ad un database di Microsoft Jet. Per poter eseguire questa routine, e' necessario utilizzare la routine ConnectOutput.
Sub ConnectX()
Dim dbsTemp As Database
Dim strMenu As String
Dim strInput As String
' Apre un database di Microsoft Jet a cui

' collegare una tabella.

Set dbsTemp = OpenDatabase("DB1.mdb")
' Crea il testo del menu.

strMenu = "Immette il numero per l'origine dati:" & vbCr
strMenu = strMenu & _
" 1. database di Microsoft Jet" & vbCr
strMenu = strMenu & _
" 2. tabella di Microsoft FoxPro 3.0" & vbCr
strMenu = strMenu & _
" 3. tabella di dBASE" & vbCr
strMenu = strMenu & _
" 4. tabella di Paradox" & vbCr
strMenu = strMenu & _
" M. (vedere le scelte 5-9)"
' Scelta dell'utente.

strInput = InputBox(strMenu)
If UCase(strInput) = "M" Then
' Crea il testo del menu.

strMenu = "Immette il numero per l'origine dati:" & vbCr
strMenu = strMenu & _
" 5. foglio di calcolo di Microsoft Excel" & vbCr
strMenu = strMenu & _
" 6. foglio di calcolo di Lotus " & vbCr
strMenu = strMenu & _
" 7. testo delimitato da virgole (CSV)" & vbCr
strMenu = strMenu & _
" 8. tabella di HTML" & vbCr
strMenu = strMenu & _
" 9. cartella di Microsoft Exchange"
' Scelta dell'utente.

strInput = InputBox(strMenu)
End If
' Richiama la routine ConnectOutput. Il terzo argomento

' sara' usato come stringa Connect e il quarto

' argomento sara' usato come SourceTableName.

Select Case Val(strInput)
Case 1
ConnectOutput dbsTemp, _
"JetTable", _
";DATABASE=C:\My Documents\Northwind.mdb", _
"Impiegati"
Case 2
ConnectOutput dbsTemp, _
"FoxProTable", _
"FoxPro 3.0;DATABASE=C:\FoxPro30\Samples", _
"Q1Sales"
Case 3
ConnectOutput dbsTemp, _
"dBASETable", _
"dBase IV;DATABASE=C:\dBASE\Samples", _
"Account"
Case 4
ConnectOutput dbsTemp, _
"ParadoxTable", _
"Paradox 3.X;DATABASE=C:\Paradox\Samples", _
"Account"
Case 5
ConnectOutput dbsTemp, _
"ExcelTable", _
"Excel 5.0;" & _
"DATABASE=C:\Excel\Samples\Q1Sales.xls", _
"Vendite di gennaio"
Case 6
ConnectOutput dbsTemp, _
"LotusTable", _
"Lotus WK3;" & _
"DATABASE=C:\Lotus\Samples\Sales.xls", _
"TERZOTRIM"
Case 7
ConnectOutput dbsTemp, _
"CSVTable", _
"Text;DATABASE=C:\Samples", _
"Sample.txt"
Case 8
ConnectOutput dbsTemp, _
"HTMLTable", _
"HTML Import;DATABASE=http://" & _
"www.server1.com/samples/page1.html", _
"Q1SalesData"
Case 9
ConnectOutput dbsTemp, _
"ExchangeTable", _
"Exchange 4.0;MAPILEVEL=" & _
"Mailbox - Michelle Wortman (Exchange)" & _
"|People\Important;", _
"Jerry Wheeler"
End Select
dbsTemp.Close
End Sub

Sub ConnectOutput(dbsTemp As Database, _
strTabella As String, strConness As String, _
strOrigineTabella As String)
Dim tdfCollegata As TableDef
Dim rstCollegata As Recordset
Dim intTemp As Integer
' Crea una nuova TableDef, imposta le proprieta'

' Connect e SourceTableName in base agli argomenti

' passati e la accoda all'insieme TableDefs.

Set tdfCollegata = dbsTemp.CreateTableDef(strTabella)
tdfCollegata.Connect = strConness
tdfCollegata.SourceTableName = strTableOrigine
dbsTemp.TableDefs.Append tdfCollegata
Set rstCollegata = dbsTemp.OpenRecordset(strTabella)
Debug.Print "Dati della tabella collegata:"
' Visualizza i primi tre record della tabella collegata.

intTemp = 1
With rstCollegata
Do While Not .EOF And intTemp <= 3
Debug.Print , .Fields(0), .Fields(1)
intTemp = intTemp + 1
.MoveNext
Loop
If Not .EOF Then Debug.Print , "[altri record]"
.Close
End With
' Elimina la tabella collegata perche' e' una dimostrazione.

dbsTemp.TableDefs.Delete strTabella
End Sub











( reteconnessione.html )- by Paolo Puglisi - Modifica del 17/12/2023