Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
725 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

table en VBA

n°379441
k1200
Posté le 01-05-2003 à 17:08:21  profilanswer
 

Reprise du message précédent :
Non dans le if...
 
If (rs1.eof) and (Not Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value) Then  
              ' Cree un nouveau
              DoCmd.GoToRecord , , acNewRec  
              MsgBox "   Vous avez emprunté un soft2   "  
              Me.DateEmprunt = Date  
              ' Sauve le recorde
              DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70  
endif  
 
 
Comme ca tu cree un nouveau que quand tout est ok...


Message édité par k1200 le 01-05-2003 à 17:09:22
mood
Publicité
Posté le 01-05-2003 à 17:08:21  profilanswer
 

n°379614
kamui36
Posté le 01-05-2003 à 19:15:44  profilanswer
 

ca ne fonctionne pas vraiment... il met toujours qu'il n'y a pas d'enregistrement courant!^^ Même si je place ton code de facon à créer un enreg avant qu'il test, il merde tjrs à cette condition.
voilà voilà... ahhh Accesss! lool


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°379667
k1200
Posté le 01-05-2003 à 19:44:09  profilanswer
 

ok je vois pourkoi... dur la fin de journee...
 
Dim db As Database, rs1 As Recordset
 Dim rs2 As Recordset
 Dim stDocName As String
 Dim FindRec As Boolean
 
 ' Selection de la base
 Set db = CurrentDb
 
 ' Selection de la requete pour la booucle
 Set rs1 = db.OpenRecordset("Select * from T_Emprunts" )
 Set rs2 = db.OpenRecordset("Select * from T_Emprunts" )
 FindRec = False
 
  If rs1.EOF Then ' Test si la table est vide
      MsgBox "   Vous avez emprunté un soft1   "
      Me.DateEmprunt = Date
       
  Else ' La table n'est pas vide donc on recherche...
      ' Boucle sur le nombre d'enregistrements
       Do While Not rs1.EOF
          ' Si le soft choisi exist dans la table
          If Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value Then
              ' Et que c'est la meme personne
              If Forms![F_Personnes --- formulaire principal]![txt_NumPersonne] = rs1.Fields("#NoPersonne" ).Value Then
                  ' On rend le soft...
                  MsgBox "   Vous venez de rendre un soft, merci   "
                  Me.DateRetour = Date
               
                  DoCmd.GoToRecord , , acNewRec
                  DoCmd.SetWarnings False
   
                  stDocName = "R_AjouterAHistorique"
                  DoCmd.OpenQuery stDocName, acViewNormal, acEdit
                  stDocName = "R_DeleteEmpruntRendu"
                  DoCmd.OpenQuery stDocName, acNormal, acEdit
                  DoCmd.SetWarnings True
                  FindRec = True
                  Exit Do
                  ' Fin de la boucle
              Else ' Soft trouver mais pas la meme personne
                  MsgBox "    Le soft est déjà emprunté, veuillez en choisir un autre   "
                  Me.Undo
                  CodeBar.SetFocus
                  FindRec = True
                  Exit Do
                  ' On sort de la boucle... ca ne sert a rien de continuer...
              End If
               
          End If
         
 ' Prochain enregistrement
  rs1.MoveNext
   
          Loop

'Donc si on arrive ici c'est que soit on a parcourru tout la table sans le trouver... donc pas emprunter... ou deja emprunter ou rendu...
' Si on est a la fin du record...
If (rs1.EOF) And (Not FindRec) Then
            ' Cree un nouveau
            DoCmd.GoToRecord , , acNewRec
            MsgBox "   Vous avez emprunté un soft2   "
            Me.DateEmprunt = Date
            ' Sauve le recorde
            DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End If

 
      End If
 ' Libere les variables
 Set rs1 = Nothing
 Set db = Nothing


Message édité par k1200 le 01-05-2003 à 19:50:33
n°381156
kamui36
Posté le 03-05-2003 à 12:08:14  profilanswer
 

il y toujours un problème...
 
voici le mess d'erreur entre autre: le moteur de base de données Microsoft bla bla ne peut pas trouver d'enregistrements dans la table T_Softs avec les champs #NoSoft correspondant à la clé
 
A savoir que la table T_Softs est la table où tous mes softs sont enregistrés et que lors d'un emprunt, j'ai une liste déroulante qui se repère à la clé de cette table de façon à pouvoir choisir le soft désiré.
 
Alors je remarque que j'ai une chier d'erreur... qui n'étaient pas là les autres jours. C'est probablement parceque j'ai convertit ma base sous Access 2002(alors que je bosse normalement sous 97)et qu'il y a eu passablement d'erreur de conversion --> je reprendrai tout ca lundi avec 97 et je te redis si j'ai tjrs cette erreur! A+


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°382235
kamui36
Posté le 05-05-2003 à 08:28:43  profilanswer
 

ouais ben il y a tjrs cette erreur... ça sent pas bon quand ca bug avec des clés  :(


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°382240
k1200
Posté le 05-05-2003 à 08:32:29  profilanswer
 

Essaye d'elever le:
           DoCmd.GoToRecord , , acNewRec
 
A la fin...  
 
Je sais pas si ton nouveau record est deja cree ou pas avant la boucle...

n°382268
kamui36
Posté le 05-05-2003 à 08:49:47  profilanswer
 

K1200 a écrit :

Essaye d'elever le:
           DoCmd.GoToRecord , , acNewRec
 
A la fin...  
 
Je sais pas si ton nouveau record est deja cree ou pas avant la boucle...


 
c'est ce que je viens de faire lool et ca fonctionne mieux maintenant^^ mais... et oui... le dernier If (qui est donc après la boucle), il me teste toujours en répondant positivement ce qui fait que si je viens de rendre un soft, par la suite il me dit que j'ai emprunté un nouveau soft alors que c'est loin d'être le cas  :p  (et si je viens redonner le soft qui est le seul et l'unique emprunté -- ce qui vidra ma table T_Emprunts -- il répondra positivement au tout premier If (qui test si la table est vide) et également au dernier...c'est zarbie tout ça)


Message édité par kamui36 le 05-05-2003 à 08:57:11

---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°382286
k1200
Posté le 05-05-2003 à 09:22:09  profilanswer
 

Tu as bien rajouter les "FindRec = True" a chaque fois qu'il ne doit pas rajouter un nouvel enregistrement (comme quand il a trouver, deja emprunter,...)? Regarde mon code en haut c'est en rouge... ;)

n°382291
kamui36
Posté le 05-05-2003 à 09:26:57  profilanswer
 

K1200 a écrit :

Tu as bien rajouter les "FindRec = True" a chaque fois qu'il ne doit pas rajouter un nouvel enregistrement (comme quand il a trouver, deja emprunter,...)? Regarde mon code en haut c'est en rouge... ;)


 
oui oui j'ai bien vérifié, il n'en manque pas un  :jap:


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°383666
kamui36
Posté le 06-05-2003 à 08:00:41  profilanswer
 

C'est bon... j'ai un peu trifouillé et ca fonctionne correctly maintenant! Merci bocoup pour ton aide^^
 
maintenant, je m'attarde sur un problème de recordset au niveau d'un formulaire... et c'est pas plus joyeux lool


Message édité par kamui36 le 06-05-2003 à 08:01:45

---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
mood
Publicité
Posté le 06-05-2003 à 08:00:41  profilanswer
 

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
CSS : Appliquer propriété à un ensemble de td dans UNE table précise.Renommer une table sous Access
compter simplement les enregistrements d'une table SQL..comment on copie une table dans une autre en Mysql
[PHP / mySQL] Problème de création d'une table[VBA] Aligner les dessins sur la grille
VBA/Access transferer les champs d' 1 enreg. sur une autre table ?(VBA) Formulaire travaillant avec une table et recherche
[ VBA ] Accéder aux enregistrements d'un table ?[VBA] Comment tester l'existence d'une table ?
Plus de sujets relatifs à : table en VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR