IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

pb sur formulaire partagé [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut pb sur formulaire partagé
    bonjour,
    pas trop calé en vba, je sollicite votre aide ! je travail sur access 2013.
    En effet, ma base étant installé et partagé sur un disque commun de ma société
    Plusieurs utilisateur ont accès à ma base et mon pb lorsque 2 utilisateurs se trouvent sur le formulaire
    "Ajouter" cela pose pb, car j'ai le numéro suivi écart qui est la clef et un moment donné
    j'ai en retour le message d'erreur 2501
    Y a t'il un moyen d’empêcher l'ouverture du formulaire "Ajouter" quand déjà un utilisateur est dessus ?
    un code pas trop compliqué !

    J'ai essayé ce code, mais sans succès, il fonctionne bien en locale mais pas sur non sur la base partagé

    If CurrentProject.AllForms("Frm_Entree_ecart").IsLoaded = True Then
    MsgBox "Form is loaded"
    Exit Sub
    Else
    DoCmd.OpenForm "Frm_Entree_ecart", acNormal
    'MsgBox "Form is not loaded"
    End If
    Fichiers attachés Fichiers attachés

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    PB en parti résolu par le form non lié et des champs indépendant, avec un peu de DAO.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Fenetre partagé
    Bonsoir,
    pb résolu par le code ci-dessous que j'ai trouvé sur le forum.
    Avec de la DAO on arrive à résoudre pas mal de chose, en effet, j'ai utilisé un form indépendant.
    Du coup la fenêtre peut-être ouverte sur plusieurs PC

    Dim oDb As DAO.Database
    Dim oRst, rstEnr, rstNumEcart As DAO.Recordset
    Dim Ctrl As Control
    'Dim rstEnr, rstNumEcart As DAO.Recordset
    'Dim dbs As DAO.Database
    'Dim DernierNumEcart As Long

    For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is TextBox Or TypeOf ctl Is ListBox Or TypeOf Ctrl Is ComboBox Then
    If Ctrl.Value = "" Or IsNull(Ctrl.Value) Then
    If IsNull(Ctrl.Name = "Origine_Ecart") = True Then
    MsgBox "Vous devez remplir le champ " + Ctrl.Name + " !", vbOKOnly + vbExclamation, "Sélection"
    Ctrl.SetFocus
    Exit Sub
    Else
    MsgBox "Vous devez remplir le champ " + Ctrl.Name + " !", vbOKOnly + vbExclamation, "Sélection"
    Exit Sub
    End If
    End If
    End If
    Next Ctrl

    If Me.Stock_Physique - Me.Stock_SAP = 0 Then
    MsgBox "Pour pouvoir ajouter un écart, le résultat du champ différence doit-être supérieur ou inférieur à 0 !", vbOKOnly + vbExclamation, "Avertissement"
    Exit Sub
    End If

    'Set rstEnr = CurrentDb.OpenRecordset("Entree")
    ' On teste si le recordset possède des enregistrements
    'If rstEnr.RecordCount = 0 Then
    'DernierNumEcart = 0
    'Else
    'Set dbs = CurrentDb
    'Set rstNumEcart = dbs.OpenRecordset("Entree")
    'rstNumEcart.MoveLast
    'DernierNumEcart = rstNumEcart!Num_Ecart_Entree
    'Set dbs = Nothing
    'Set rstNumEcart = Nothing
    'End If

    '-----Mode Ajouter
    Set oDb = CurrentDb
    Set oRst = oDb.OpenRecordset("Entree", dbOpenDynaset) 'dbOpenTable
    'Passe en mode Ajout
    oRst.AddNew
    'Affecte les différents champs
    'oRst.Fields("Num_Ecart_Entree").Value = DernierNumEcart + 1
    oRst.Fields("Semaine_Entree").Value = Me.Semaine
    oRst.Fields("Date_Creation_Entree").Value = Me.Date_Creation
    oRst.Fields("Collaborateur_Entree").Value = Me.Collaborateur
    oRst.Fields("Reference_ST_Entree").Value = Me.Reference_ST
    oRst.Fields("Localisation_Entree").Value = Me.Localisation
    oRst.Fields("Origine_ecart_Entree").Value = Me.Origine_ecart
    oRst.Fields("PN_Vendor_Entree").Value = Me.PN_Vendor
    oRst.Fields("Stock_Physique_Entree").Value = Me.Stock_Physique
    oRst.Fields("Stock_SAP_Entree").Value = Me.Stock_SAP
    oRst.Fields("Calcul_Difference_Entree").Value = Me.Calcul_Difference
    'Met à Jour
    oRst.Update
    'Libération des objets
    oRst.Close
    oDb.Close
    'rstEnr.Close
    Set oRst = Nothing
    Set oDb = Nothing
    'Set rstEnr = Nothing

    DoCmd.Close
    DoCmd.Requery (Entree)
    Forms![Frm_Inventaire]![Frm_Req_Ecart_Non_Sortie].Form.Requery 'List_Entree_ecart

    Bonne soirée....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 19
    Dernier message: 26/01/2006, 08h44
  2. Mettre un mot de passe sur un partage réseau
    Par maxonman dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 06/10/2005, 10h22
  3. Glisser déposer sur formulaire
    Par norvel dans le forum Access
    Réponses: 5
    Dernier message: 03/10/2005, 11h20
  4. [CR][ASP.NET] Impression sur imprimante partagée
    Par Frusciante8 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 27/01/2005, 12h03
  5. Droit d'acces sur rep partagé Windows
    Par MrEddy dans le forum Réseau
    Réponses: 2
    Dernier message: 10/02/2004, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo