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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  table en VBA

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

table en VBA

n°362686
kamui36
Posté le 16-04-2003 à 08:42:21  profilanswer
 

kikooo^^
voici un bout de code tout con: If Me![txt_numSoft] =[#NoSoft] Then
 
Le champ #NoSoft fait partie de la table T_XYZ. Comment indiquer cela en VBA??     :hello:  
 
 


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
mood
Publicité
Posté le 16-04-2003 à 08:42:21  profilanswer
 

n°362748
kamui36
Posté le 16-04-2003 à 09:31:05  profilanswer
 

up!


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°362787
k1200
Posté le 16-04-2003 à 09:48:45  profilanswer
 

Ben tout simplement:
 
if me.txt_numsoft = T_XYZ[NoSoft] then
 
Le then etre sur la meme ligne que le if ;)

n°362868
kamui36
Posté le 16-04-2003 à 10:39:15  profilanswer
 

ca marche pas vraiment... il me met un mess du genre: variable non définie!
 
help me! :cry:


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°362895
k1200
Posté le 16-04-2003 à 10:51:13  profilanswer
 

Donne ton code...
 
txt_numsoft est bien un textbox ou un truc comme ca?

n°362906
kamui36
Posté le 16-04-2003 à 10:55:05  profilanswer
 

If Me![txt_numSoft] = [#NoSoft] Then
 
oui, txt_numSoft est une zone de texte et #NoSoft est un champ appartenant à la table TXYZ. Lorsque je test avec le code ci-dessus, on dirait qu'il ne se refère en rien au champ NoSoft de la table TXYZ mais... car il passe quand mm dans mon if mm si la condition est fausse...


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°362941
k1200
Posté le 16-04-2003 à 11:09:06  profilanswer
 

Bon en VBA on n'utilise pas le ! et les []...
 
Tu fait directement me.txt_numsoft
 
et il faudrait mettre le nom de ton tableau avant le [#NoSoft]... ;)

n°362950
kamui36
Posté le 16-04-2003 à 11:13:18  profilanswer
 

c'est zarbe ce que tu me dis... dans tout le reste de mon code, j'utilise tout le temps ! et [] et il ne m'a jamais chier des prunes^^ Mais bon, je sais que je suis obligé de mettre des [] autour de chaque nom de champ commencant par #XXX
 
... pour ne revenir au code, il ne me reconnais pas ma table, c'est comme avant!


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°362964
k1200
Posté le 16-04-2003 à 11:18:58  profilanswer
 

Donne ton bout de code...
 
Au fait c'est quel version?
 
Et tu peus essayer me.txt_numsoft.text

n°363000
kamui36
Posté le 16-04-2003 à 11:35:08  profilanswer
 

txt_NumSoft est de type numérique si jamais. Il s'agit de la clé primaire du soft que j'affiche dans mon formulaire. Si je repère cette clé dans la table T_XYZ alors il ne validera pas l'emprunt.
 
j'utilise access 97... et voici mon code (intégral):
If Me.txt_numSoft = [#NoSoft] Then
     
    MsgBox "    Le soft est déjà emprunté, veuillez en choisir un autre   "
    Me.Undo
    CodeBar.SetFocus
     
Else
    Me![DateEmprunt] = Date
End If


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
mood
Publicité
Posté le 16-04-2003 à 11:35:08  profilanswer
 

n°363021
k1200
Posté le 16-04-2003 à 11:41:36  profilanswer
 

Okay... quand tu aurras tout dit... C'est du Access...
 
Il faut que tu fasse un recodset de ta table T_XYZ et apres tu boucles sur ce recodset en checkant que la cle n'existe pas... Si elle existe tu met ton message d'erreur et tu arrete la boucle autrement tu fait ton update ;)
 

n°363027
kamui36
Posté le 16-04-2003 à 11:45:15  profilanswer
 

K1200 a écrit :

Okay... quand tu aurras tout dit... C'est du Access...
 
Il faut que tu fasse un recodset de ta table T_XYZ et apres tu boucles sur ce recodset en checkant que la cle n'existe pas... Si elle existe tu met ton message d'erreur et tu arrete la boucle autrement tu fait ton update ;)
 
 


je ne connais pas tout du VBA et les recordset est ce que j'ai le moins rencontré tout au long de ma base... tu pourrais faire un little exemple en code? plizzzeee :jap:  
 
au fait, tu croyais que j'étais dans quel prog avant que je te dise que je bossais dans access?


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°363040
k1200
Posté le 16-04-2003 à 11:54:23  profilanswer
 

Moi je fait surtout du VBA dans Excel... Mais le VBA il y en a dans tout les produit Office ;)
 
Je te cherche un exemple cet apres midi...

n°363122
kamui36
Posté le 16-04-2003 à 12:44:29  profilanswer
 

K1200 a écrit :

Moi je fait surtout du VBA dans Excel... Mais le VBA il y en a dans tout les produit Office ;)
 
Je te cherche un exemple cet apres midi...


 
ouais je sais que les paquets offices dégorge de VBA... mais il me semble que le codage est le même pour tous les produits (Access, excel,...). Enfin, bref. Ma syntaxe fonctionne trèa bien tout comme la tienne, alors pas de soucis^^
 
merci pour le little exemple... ca me sortirait du kaka^^  :jap:


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°363411
k1200
Posté le 16-04-2003 à 15:20:45  profilanswer
 

Voila ca doit ressembler a un truc comme ca... J'ai pas tester mais ca doit pas etre loin ;)
 

Code :
  1. Dim db As Database, rs1 As Recordset
  2.    
  3. ' Selection de la base
  4. Set db = CurrentDb
  5. ' Selection de la requete pour la booucle
  6. Set rs1 = db.OpenRecordset("Select * from T_XYZ" )
  7. ' Boucle sur le nombre d'enregistrements
  8. do while not rs1.eof
  9. If Me.txt_numSoft = rs1.fields("#NoSoft" ).value Then
  10.  MsgBox "    Le soft est déjà emprunté, veuillez en choisir un autre   "
  11.  Me.Undo
  12.  CodeBar.SetFocus
  13. Else
  14.  Me![DateEmprunt] = Date
  15. End If
  16. ' Prochain enregistrement
  17. rs1.movenext
  18. loop
  19. ' Libere les variables
  20. Set rs1 = Nothing
  21. Set db = Nothing

n°363444
kamui36
Posté le 16-04-2003 à 15:34:24  profilanswer
 

ok... je test et je te redis!
 
 
Miracle!!! ca fonctionne!!! ouffff c'était le plus gros bug... et maintenant il n'existe plus!
 
Merci pour ton aide!


Message édité par kamui36 le 16-04-2003 à 15:44:37

---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°364202
kamui36
Posté le 17-04-2003 à 08:14:47  profilanswer
 

K1200 a écrit :

Voila ca doit ressembler a un truc comme ca... J'ai pas tester mais ca doit pas etre loin ;)
 

Code :
  1. Dim db As Database, rs1 As Recordset
  2.    
  3. ' Selection de la base
  4. Set db = CurrentDb
  5. ' Selection de la requete pour la booucle
  6. Set rs1 = db.OpenRecordset("Select * from T_XYZ" )
  7. ' Boucle sur le nombre d'enregistrements
  8. do while not rs1.eof
  9. If Me.txt_numSoft = rs1.fields("#NoSoft" ).value Then
  10.  MsgBox "    Le soft est déjà emprunté, veuillez en choisir un autre   "
  11.  Me.Undo
  12.  CodeBar.SetFocus
  13. Else
  14.  Me![DateEmprunt] = Date
  15. End If
  16. ' Prochain enregistrement
  17. rs1.movenext
  18. loop
  19. ' Libere les variables
  20. Set rs1 = Nothing
  21. Set db = Nothing




 
ya juste un petit détail qui merde... lorsqu'un user vient emprunter un soft et que à ce moment là, la table T_XYZ est totalement vide, l'enregistrement de l'emprunt se fait (pas de prob) mais la date ne se met pas... en gros, il passe pas par le If...  :p
 
je rectifie.... il ne passe même pas dans le Do while!


Message édité par kamui36 le 17-04-2003 à 08:18:42

---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°364294
k1200
Posté le 17-04-2003 à 09:20:15  profilanswer
 

C'est normal la condition de la boucle c'est de boucler tans qu'il n'est pas a la derniere ligne... Et si la table est vide il ne va pas boucler...
 
Donc pour que ca fonctionne tu fait un:
 
if rs2.eof then ' Test si la table est vide
   ' Update de la date
else
  ' La boucle
   Do While ...
     ...
   loop
endif
 
;)

n°364327
kamui36
Posté le 17-04-2003 à 09:41:09  profilanswer
 

K1200 a écrit :

C'est normal la condition de la boucle c'est de boucler tans qu'il n'est pas a la derniere ligne... Et si la table est vide il ne va pas boucler...
 
Donc pour que ca fonctionne tu fait un:
 
if rs2.eof then ' Test si la table est vide
   ' Update de la date
else
  ' La boucle
   Do While ...
     ...
   loop
endif
 
;)


 
lool ce que tu me dis, c'est tout con et j'avais même pas remarqué.... j'ai un peu honte... va falloir que je remédie à ca!
Merci bcp pour ton aide! Si j'ai d'autre kestion, j'espère que tu pourra de nouveau me filer un coup de pouce!


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

N'esite pas ;)
 
Je fait du VB a longueur de journee...

n°364333
k1200
Posté le 17-04-2003 à 09:45:50  profilanswer
 

En plus entre Suisse ;)
 
Moi je suis de Geneve...

n°364347
kamui36
Posté le 17-04-2003 à 09:52:58  profilanswer
 

lool je comprends mieux pourquoi tu domine....
comme tu dis, entre Suisse!  ;)


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°375590
kamui36
Posté le 29-04-2003 à 09:50:26  profilanswer
 

j'ai un nouveau problème... lorsque je veux emprunter un soft, j'ai deux critère à remplir à l'aide d'un pistolet scanner. Le numéro personnel de personne qui emprunte ainsi que le code-barre du soft qu'elle veut emprunter --- Jusque là, pas de prob. Par la suite, j'ai fait un recordset qui scanne la table d'emprunt pour voir si le soft est déjà emprunté. Si oui, il met un mess et la personne doit choisir un autre soft. Sinon, il met la date actuelle dans le champ DateEmprunt... enfin voici le code quoi:
  Dim db As Database, rs1 As Recordset
  Dim rs2 As Recordset
  Dim stDocName As String
   
  ' 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" )
   
    If rs1.EOF Then ' Test si la table est vide
        Me.DateEmprunt = Date
        MsgBox "   Vous avez emprunté un soft   "
    Else
        ' Boucle sur le nombre d'enregistrements
        Do While Not rs1.EOF
             
        If Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value Then
            If Forms![F_Personnes --- formulaire principal]![txt_NumPersonne] = rs2.Fields("#NoPersonne" ).Value Then
                Me.DateRetour = Date
                MsgBox "   Vous avez rendu un soft   "
                             
            Else
                MsgBox "    Le soft est déjà emprunté, veuillez en choisir un autre   "
                Me.Undo
                CodeBar.SetFocus
            End If
             
        ElseIf Not Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value Then
            Me.DateEmprunt = Date
            MsgBox "   Vous avez emprunté un soft2   "
        End If
   
   ' Prochain enregistrement
    rs1.MoveNext
        Loop
    End If
     
  ' Libere les variables
  Set rs1 = Nothing
  Set db = Nothing

 
le problème est que si je veux emprunter un soft, il fera la boucle mais dans ce sens:  
1ère étape(il ira directement dans la boucle et exécuter cela):         ElseIf Not Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value Then
            Me.DateEmprunt = Date
            MsgBox "   Vous avez emprunté un soft2   "
        End If

et lors du deuxième passage de la boucle, il fera:
        If Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value Then
            If Forms![F_Personnes --- formulaire principal]![txt_NumPersonne] = rs2.Fields("#NoPersonne" ).Value Then
                Me.DateRetour = Date
                MsgBox "   Vous avez rendu un soft   "

 
Comment faire pour qu'il ne fasse pas ce deuxième passage?? Je pige pas pourquoi il fait pas un seul passage... help me!
Si vous comprenez pas qqch, n'hésitez pas!
 


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°375719
kamui36
Posté le 29-04-2003 à 11:09:01  profilanswer
 

up!


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°375771
kamui36
Posté le 29-04-2003 à 11:25:33  profilanswer
 

rectification du problème! en réalité, si j'ai déjà 20 enregistrements dans ma table, il me mettra 20 mess quelqueconques (suivant les conditions) et après seulement il m'indiquera que j'ai emprunté un soft.
 
comment dire à Access de se baser que sur la ligne(le nouvel emprunt) que je rajoute??


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

Tu n'as pas de sortie de ta boucle a pare les eof.. donc il va faire a chaque fois tout la boucle...
 
Met un "exit do" la ou tu veux qu'il sorte de la boucle... Par exemple apres tes messages... ;)

n°376438
kamui36
Posté le 29-04-2003 à 15:45:53  profilanswer
 

K1200 a écrit :

Tu n'as pas de sortie de ta boucle a pare les eof.. donc il va faire a chaque fois tout la boucle...
 
Met un "exit do" la ou tu veux qu'il sorte de la boucle... Par exemple apres tes messages... ;)


 
ce qui provoque un "je m'en fou" de ma première condition if dans la boucle(en d'autre terme, j'ai beau tester si le soft est déjà emprunté ou pas, il répondra "faux" à la condition)... lool (je vais péter une durite :fou: )


Message édité par kamui36 le 29-04-2003 à 15:54:23

---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°376822
k1200
Posté le 29-04-2003 à 17:39:33  profilanswer
 

Tu as essayer en pas a pas pour voir ce qu'il y avait dans tes variables?

n°377436
kamui36
Posté le 30-04-2003 à 08:26:48  profilanswer
 

K1200 a écrit :

Tu as essayer en pas a pas pour voir ce qu'il y avait dans tes variables?


 
c'est le chenis... si tu regarde l'immense bout de code que j'ai mis hier, où placerais-tu les "exit Do"??


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°377438
k1200
Posté le 30-04-2003 à 08:28:50  profilanswer
 

Alors essaye de les afficher dans un text box avant ta condition... comme ca tu verra se qu'il y a dedans ;)

n°377443
kamui36
Posté le 30-04-2003 à 08:40:06  profilanswer
 

K1200 a écrit :

Alors essaye de les afficher dans un text box avant ta condition... comme ca tu verra se qu'il y a dedans ;)


 
je pense que le blème vient de mes "exit do". En gros, il compare ce que je vient d'entrer avec la 1ère ligne de ma tbale et ensuite il quitte le programme (il obéit à mon exit do) -- c'est pour ca qu'il fait une fois le Do While.


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°377542
k1200
Posté le 30-04-2003 à 09:44:10  profilanswer
 

Ils sont ou tes exit do dans ton code? Je ne les vois pas dans ton code juste en dessus...

n°377543
kamui36
Posté le 30-04-2003 à 09:44:20  profilanswer
 

Petite syntèse:
 
J'ai une table T_Emprunts. Je veux emprunter un soft... pour cela, il faut detecter si le soft est déjà dans la table et si oui, il met un mess sinon, il passe à la suite, etc...
 
Bon, pour les tests -- tout est ok. Je fais un scan de ma table à l'aide d'un Do While et ensuite le prog teste suivant mes conditions. là le problème: si j'ai 20 enregistrements dans ma table, il testera 20 fois et me mettra 20 mess alors que je veux qu'il affiche un mess uniquement pour l'enregistrement que je complète en voulant emprunter un soft. Si je mets des "exit do", il sortira de ma boucle dès le premier voyage et donc ne prendra pas correctement en compte mon emrpunt...   :(


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

pour le moment, voici mon code (la partie des tests):[i]
    If rs1.EOF Then ' Test si la table est vide
        MsgBox "   Vous avez emprunté un soft1   "
        Me.DateEmprunt = Date
         
    Else
        ' Boucle sur le nombre d'enregistrements
         Do While Not rs1.EOF
TryAgain:
            If Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value Then
               
                If Forms![F_Personnes --- formulaire principal]![txt_NumPersonne] = rs1.Fields("#NoPersonne" ).Value Then
                    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
         Exit Do
                Else
                    MsgBox "    Le soft est déjà emprunté, veuillez en choisir un autre   "
                    Me.Undo
                    CodeBar.SetFocus
                    GoTo TryAgain
                End If
         Exit Do
             
            ElseIf Not Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value Then
                MsgBox "   Vous avez emprunté un soft2   "
                Me.DateEmprunt = Date
                 
            End If
         
   ' Prochain enregistrement
    rs1.MoveNext
     
            Loop
        End If
En ce qui concerne mon "ElseIf Not bla bla", j'ai également essayé de mettre un "else" tout seul mais à ce moment, ca bug ailleurs^^ :bounce:


Message édité par kamui36 le 01-05-2003 à 08:51:21

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

Il est un peu bizare ton code... Mais je crois que j'ai trouver le probleme...
 
ALors
 
   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  
                   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  
                   Exit do
                   ' On sort de la boucle... ca ne sert a rien de continuer...

               End If  
                 
           End If  
         
  ' Prochain enregistrement  
   rs1.MoveNext  
     
           Loop  
       End If  
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...
If (rs1.eof) and (Not Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value) Then  
               MsgBox "   Vous avez emprunté un soft2   "  
               Me.DateEmprunt = Date  
endif


Message édité par k1200 le 01-05-2003 à 11:32:28
n°379320
kamui36
Posté le 01-05-2003 à 13:52:08  profilanswer
 

K1200 a écrit :

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...
If (rs1.eof) and (Not Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value) Then  
               MsgBox "   Vous avez emprunté un soft2   "  
               Me.DateEmprunt = Date  
endif



 
mais l'erreur subsiste et persiste lool
en essayant d'emprunter un soft qui n'apparaît pas encore dans la table, il me met une erreur comme quoi il n'y a "pas d'enregistrement courant". C'est logique car tout est dans mon formulaire et tant que je ne le quitte pas, rien ne sera enregistré dans ma table...


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
n°379340
k1200
Posté le 01-05-2003 à 15:07:41  profilanswer
 

Regarde dans la doc d'Access il y a une methode pour aller a un nouvel enregistrement depuis la form...

n°379342
k1200
Posté le 01-05-2003 à 15:11:02  profilanswer
 

J'ai trouver...
 
Avant d'ecrire tu fait un:
DoCmd.GoToRecord , , acNewRec
 
Et apres avoir ecrit tu fais pour sauver le record un:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
 
Il y a peut etre d'autre solution mais ca doit fonctionner comme ca...

n°379388
kamui36
Posté le 01-05-2003 à 16:12:35  profilanswer
 

K1200 a écrit :

J'ai trouver...
 
Avant d'ecrire tu fait un:
DoCmd.GoToRecord , , acNewRec
 
Et apres avoir ecrit tu fais pour sauver le record un:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
 
Il y a peut etre d'autre solution mais ca doit fonctionner comme ca...


 
 :heink: je commence à être (sérieusement) largué... (ben ca fait une journée que je m'acharne sur du code alors ca commence à me sortir par tous les trous^^). Donc, c'est lorsqu'il cherche à tester mon dernier IF que ca coince If (rs1.eof) and (Not Me.txt_numSoft = rs1.Fields("#NoSoft" ).Value) Then  
Si je pige, tu me dis de créer un nouvel enregistrement avant de tester ce If et après je sauve mon recordset... c'est ça? (je suis désolé si je t'énèreve ou bien si je te fais pitié mais là, je sombre... en plus, ça à l'air tout con alors je sombre encore plus :cry: )


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

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   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  table en VBA

 

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