ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;" & _ "User ID=Toto;Initial Catalog=maDB;Data Source=lePC"où :
Option Compare Database Private Sub Form_Load() 'ouverture du formulaire d'accueil Dim stDocName As String Dim stLinkCriteria As String stDocName = "accueil" DoCmd.OpenForm stDocName, , , stLinkCriteria 'faire une petite pause pour que le formulaire accueil s'affiche lTime = 0 Do DoEvents lTime = lTime + 1 Loop Until lTime >= 1000 'suppression des tables liées Dim BD As DAO.Database Set BD = CurrentDb Dim tb As DAO.TableDef For Each tb In BD.TableDefs If Left(tb.Name, 4) <> "MSys" Then 'on ne supprime pas les tables systèmes If Len(tb.Connect) > 0 Then DoCmd.RunSQL "DROP TABLE [" & tb.Name & "] ;" 'on détruit les tables 'Debug.Print "effacement de " & tb.Name & " -=#=> " & tb.Connect End If End If Next tb 'déclaration des élements servant à la connexion et deconnexion de lecteurs réseaux 'Dim NetR As NETRESOURCE 'Dim ErrInfo As Long 'Dim MyPass As String, MyUser As String 'création du lecteur réseau pour accéder à la base de données 'NetR.dwScope = RESOURCE_GLOBALNET 'NetR.dwType = RESOURCETYPE_DISK 'NetR.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE 'NetR.dwUsage = RESOURCEUSAGE_CONNECTABLE 'NetR.lpLocalName = "" 'NetR.lpRemoteName = DossierServeur 'on ne rajoute pas de mot de passe à cette connexion car la connexion vers le serveur ne demande pas de mot de passe 'MyPass = "" 'MyUser = "" 'ErrInfo = WNetAddConnection2(NetR, MyPass, MyUser, _ 'CONNECT_UPDATE_PROFILE) 'If (ErrInfo NO_ERROR Or ErrInfo 85) Then 'l'erreur 85 survient lorsque le lecteur existe déjà 'MsgBox "Net Connection Successful!", vbInformation, _ '"Share Connected" 'Else 'MsgBox "ERROR: " & ErrInfo & " - Net Connection Failed!", _ 'vbExclamation, "Share not Connected" 'MsgBox ("Aucune connection à la base de données du serveur,adresse IP vérifier si vous êtes connecté au réseau de l'usine ou si le serveur existe!") 'Application.Quit 'End If 'on attribut dès la connexion le chemin de la base principale 'baseprincipale = "q:\base_princip.mdb" baseprincipale = "Test1" basetracabilite = DossierServeur + base_traca 'recherche et création de liaison des tables ' faire le lien entre les 2 bases, on lie toutes les tables DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "base", "dbo_base" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "connecte", "dbo_connecte" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "connexion", "dbo_connexion" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "creation", "dbo_creation" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "Flavor", "dbo_flavor" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "Formula_Groups", "dbo_formula_groups" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "Formulas", "dbo_formulas" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "Formulation_Control", "dbo_formulation_control" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "groupe", "dbo_groupe" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "Ingredients", "dbo_ingredients" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "malaxeur", "dbo_malaxeur" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "modification", "dbo_modification" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "password", "dbo_password" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "Product_Types", "dbo_product_types" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "securite", "dbo_securite" DoCmd.TransferDatabase acLink, "ODBC Database", _ "ODBC;DSN=Test1;" _ & "DATABASE=GestionLigne1&2", acTable, "suppression", "dbo_suppression" 'fermeture du formulaire de connexion DoCmd.Close acForm, "accueil" 'empechement de fermer le formulaire demarrage avec access fermeture_base1 = 0 'ferm = 1 End Sub Private Sub password_KeyPress(KeyAscii As Integer) If (KeyAscii = 13) Then Dim sql As String Dim rs As DAO.Recordset 'on selectionne les attributs des utilisateurs que l'on entre dans ce formulaire de connexion sql "SELECT * FROM password WHERE nom_user '" & Me.login & "' AND password_user ='" & Me.password & "';" Set db = OpenDatabase(baseprincipale)("c'est a ce moment là que le code me demande la sélection que j'aimerais éviter ^^) Set rs = db.OpenRecordset(sql, dbOpenDynaset, dbSeeChanges) rs.MoveLast If Not rs.EOF Then 'enlevement de la protection pour ferme r le formulaire demarrage fermeture_base1 = 1 'fermeture du formulaire de connexion DoCmd.Close acForm, "demarrage" Dim stDocName As String Dim stLinkCriteria As String 'DoCmd.RunCommand acCmdWindowHide 'sauvegarde du nom et du group de l'utilisateur connecté login_user = rs("nom_user").Value group_user = rs("groupe").Value niv_secu = rs("niv_secu").Value 'récupération du nom du pc Dim z As String * 20 Call GetComputerName(z, 20) nom_pc = z 'recupération de la date systeme Dim MyDate Dim Date1 As String MyDate = Date Date1 = MyDate 'recuperation de l'heure systeme Dim MyTime Dim Time1 As String MyTime = Time Time1 = MyTime 'écriture du nom de l'utilisateur connecté dans la table connecte Dim rs2 As DAO.Recordset Set rs2 = db.OpenRecordset("connecte", dbOpenDynaset, dbSeeChanges) rs2.AddNew rs2!nom_connecte = login_user rs2!nom_pc = nom_pc rs2!date_connecte = Date1 & " " & Time1 rs2.Update 'écriture du nom de l'utilisateur connecté dans la table connexion Set rs2 = db.OpenRecordset("connexion", dbOpenDynaset, dbSeeChanges) rs2.AddNew rs2!nom_user_connexion = login_user rs2!nom_pc_connexion = nom_pc rs2!date_connexion = Date1 & " " & Time1 rs2.Update 'ouverture du formulaire du nombre de connectés stDocName = "affiche_connecte" DoCmd.OpenForm stDocName, , , stLinkCriteria 'on affiche le nom du connecté Form_affiche_connecte.nom = login_user 'si l'utilisateur n'est pas admin on cache toutes les barres de menu et on masque la fenêtre de la base de données If (niv_secu = "tout") Then Else 'masquage de la fenêtre base de données DoCmd.SelectObject acTable, , True DoCmd.RunCommand acCmdWindowHide 'affichage de la fenêtre base de données 'DoCmd.RunCommand acCmdWindowUnhide 'on efface les barres de menu qui ne servent à rien DoCmd.ShowToolbar "Menu Bar", acToolbarNo DoCmd.ShowToolbar "Form View", acToolbarNo DoCmd.ShowToolbar "Formatting (Form/Report)", acToolbarNo DoCmd.ShowToolbar "Web", acToolbarNo End If 'ouverture du formulaire principal If (niv_secu = "tout") Then stDocName = "principal" DoCmd.OpenForm stDocName, , , stLinkCriteria Else stDocName = "principal1" DoCmd.OpenForm stDocName, , , stLinkCriteria End If 'on met 0 dans la variable fermeture_base pour que l'utilisateur ne puisse plus fermer access fermeture_base = 0 fermeture_base1 = 1 Else MsgBox "L'identifiant ou le mot de passe est incorrect ", vbInformation, "Connexion" End If End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question