Lien vers tables

Lien vers tables - VB/VBA/VBS - Programmation

Marsh Posté le 26-09-2005 à 11:14:09    

bonjour, je réalise une application sous access 2003 et j'utilise VBA. j'ai divisé mon projet en deux :
 
1°) les tables avec les données
 
2°) Les formulaires avec le code VBA derrière
 
Ma question est simple, j'aimerai faire un petit formulaire de démarage ou l'on entre dans une zone de texte le chemin de la base, puis en appuyant sur un bouton "connection" on se connecte  à la base ou il y a les données.
 
J'ai cherché dans l'aide access, et je sais faire ça avec l'assistant (lier les tables), mais aucune idée de comment faire en VBA. Merci de votre aide

Reply

Marsh Posté le 26-09-2005 à 11:14:09   

Reply

Marsh Posté le 26-09-2005 à 14:06:47    

Il y a bien longtemps que je n'ai plus touché à Access mais j'ai retrouvé un de mes vieux codes qui sert à reconnecter des bases quand on a déplacé les fichiers.
Tu peux, peut-être, t'en inspirer.

Dim sCurPath As String, IsaPath As String, HeadPath As String
Dim Response As Integer, I As Integer
Dim Msg As String
   
CR$ = Chr$(13)
sCurPath = Left$(CurrentDb.Name, InStr(1, CurrentDb.Name, Dir$(CurrentDb.Name), 1) - 1)
If (Dir$(sCurPath & "Tabisa.mdb" ) = "" ) Then
  Msg = "Le fichier TABISA.MDB doit se trouver" & CR$
  Msg = Msg & "dans le même répertoire que ISABEL.MDB"
  Response = MsgBox(Msg, 48)
  DoCmd.Close
ElseIf (Dir$(sCurPath & "Tabhead.mdb" ) = "" ) Then
  Msg = "Le fichier TABHEAD.MDB doit se trouver" & CR$
  Msg = Msg & "dans le même répertoire que ISABEL.MDB"
  Response = MsgBox(Msg, 48)
  DoCmd.Close
Else
  IsaPath = sCurPath & "Tabisa.mdb"
  HeadPath = sCurPath & "Tabhead.mdb"
End If
Set DB = CurrentDb
For I = 0 To DB.TableDefs.Count - 1
  Set Defs = DB.TableDefs(I)
  If Defs.Connect Like "*TABHEAD.MDB*" Then
    Defs.Connect = ";DATABASE=" & HeadPath
    Defs.RefreshLink
  ElseIf Defs.Connect Like "*TABISA.MDB*" Then
    Defs.Connect = ";DATABASE=" & IsaPath
    Defs.RefreshLink
  End If
Next I
Set DBIsa = OpenDatabase(IsaPath)
Set DBHead = OpenDatabase(HeadPath)
Set TIsa = DBIsa.OpenRecordset("Isabel" )
Set TTemp = DBIsa.OpenRecordset("Temp" )
Set THead = DBHead.OpenRecordset("Head_Off" )
Set TTci = DBHead.OpenRecordset("Tci" )


Message édité par AlainTech le 26-09-2005 à 14:09:26

---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 26-09-2005 à 14:12:22    

ok merci je vais regarder ça de plus près.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed