1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| Sub CopyTable(ByVal strSourceTable As String, strDestTable As String, boCopyDatas As Boolean, boInTableDistante As Boolean, Optional strTableDistPath As String)
'recopie une table ou seulement sa structure dans la base courante ou dans une base distante
'et fait la liaison si la table est une table liée
'verifie si la table de destination existe et la supprime
Call suppri(strDestTable)
If boInTableDistante Then
'si les donnes doivent etre envoyées vers une table distante
If boCopyDatas Then
'si on copie les donnees
DoCmd.RunSQL "select * into [" & strDestTable & "] in '" & strTableDistPath & "' from [" & strSourceTable & "]"
DoCmd.TransferDatabase acLink, "Microsoft Access", strTableDistPath, acTable, strDestTable, strDestTable
Else
'si on copie la structure seulement
DoCmd.RunSQL "select * into [" & strDestTable & "] in '" & strTableDistPath & "' from [" & strSourceTable & "] where false"
DoCmd.TransferDatabase acLink, "Microsoft Access", strTableDistPath, acTable, strDestTable, strDestTable
End If
Else
If boCopyDatas Then
'si on copie les donnees
DoCmd.RunSQL "select * into [" & strDestTable & "] from [" & strSourceTable & "]"
Else
'si on copie la structure seulement
DoCmd.RunSQL "select * into [" & strDestTable & "] from [" & strSourceTable & "] where false"
End If
End If
'On Error GoTo 0
Exit Sub
CopyTable_Error:
MsgBox "Error " & Err.Number & " (" & Err.DESCRIPTION & ") in procedure CopyTable of Module oDivers"
End Sub |
Partager