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 :

Erreur premier enregistrement méthode findfirst


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2012
    Messages : 6
    Points : 13
    Points
    13
    Par défaut Erreur premier enregistrement méthode findfirst
    Bonjour

    J´ai besoin votre aide.

    Je veux mettre à jour la table T_Necesidades, ce table contient pour 1 produit, différent enregistre avec différents jours. Je veux mise à jour le champ stock de la première journée d'inscription pour chaque enregistrement de la table (T_Necesidades). Le champ Stock vient de la table (T_Stock). J´utilise la méthode FindFirst avec une boucle.

    Le problème est que dans la première ligne de la table (T_Necesidades), ne s'applique pas la méthode FindFirst, le code enregistré les dernières données de la table (T_Stock)

    Désolé mon français écrit.

    Le code vba:

    Dim db As DAO.Database
    Dim rstUp As DAO.Recordset
    Dim rstRd As DAO.Recordset
    Dim Code As String

    Set db = CurrentDb()
    Set rstUp = db.OpenRecordset("T_Necesidades", dbOpenDynaset)
    Set rstRd = db.OpenRecordset("T_Stock", dbOpenDynaset)


    rstRd.MoveFirst

    Do While Not rstRd.EOF

    Code = rstRd!Codigo
    rstUp.FindFirst "Codigo=" & Code & ""

    If Not rstRd.NoMatch Then
    rstUp.Edit
    rstUp!StockNecesidadees = rstRd!Stock
    rstUp.Update

    Else
    rstUp.Edit
    rstUp!StockSganl = 0
    rstUp.Update
    End If
    rstRd.MoveNext

    Loop

    rstRd.Close
    rstUp.Close

    Cdlte.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2012
    Messages : 6
    Points : 13
    Points
    13
    Par défaut
    Solution:


    Set db = CurrentDb()
    Set rstUp = db.OpenRecordset("T_Necesidades", dbOpenDynaset)
    Set rstRd = db.OpenRecordset("T_Stock", dbOpenDynaset)

    Do Until rstRd.EOF
    rstUp.FindFirst "Codigo=" & rstRd!Codigo & ""

    If Not rstUp.NoMatch Then
    rstUp.Edit
    rstUp!StockNecesidades = rstRd!Stock
    rstUp.Update
    End If
    rstRd.MoveNext
    Loop

    rstRd.Close
    rstUp.Close

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

Discussions similaires

  1. Requete pour obtenir les 25 premiers enregistrement
    Par dbizier dans le forum Oracle
    Réponses: 1
    Dernier message: 28/04/2006, 21h36
  2. Erreur d'enregistrement du recordset
    Par napegadie dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 23/12/2005, 11h57
  3. Prendre que les 5 premiers enregistrements (les + important)
    Par __fabrice dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/11/2005, 09h24
  4. comment récupérer les x premiers enregistrements
    Par laurent82 dans le forum SQL
    Réponses: 7
    Dernier message: 12/12/2004, 16h29
  5. Récupérer le premier enregistrement d'un attribut
    Par Tapioca dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 05/08/2004, 09h56

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