Mise à jour VB6 et Access 2007 avec requête SQL
mohalesage
Messages postés
147
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour l'Ami,
J'ai besoin de votre aide. Je me suis trouvé coincé au bout du couloir. Je n'arrive pas à dépasser le niveau de la mise à jour, surtout la commande Modifier
Pour information
Je travaille avec VB6 et Acces 2007, utilisant la requête SQL
sur le Module, j'ai écris
Public DB as New ADOBD.Connection
Public RS as New ADODB.RecordSet
Public Rss as New ADODB.RecordSet
Public SQLs as String
Sur acces il y a Trois Tables
Une TablePrincipale ( stock les données saisies à partir de la feuille de saisie )
Deux Tables Secondaires indexéeqs ( TableNom, TableMatiere )
TableNom est indexée par Les Nom
TableMatiere est indexée par les Matiere
Mon problème se situe au niveau de la commande Modifier.
Sur la feuille d'affichage pour la consultation en vue de la modification, les données sélectionnées sur la feuille de Recherche s'affichent
lorsque je change le contenu d'un objet text, le changement s'effectue :
Normalement sur la TablePrincipale
Normalement sur les deux Tables secondaires tant que Nom ( index sur la TableNom ) et Matiere ( Index sur la TableMatiere ) n'ont pas été modifié sur la feuille de consultation en vue de la modification
Mon objectif est : lorsque je change sur la feuille de consultation en vue de modification, par exemple Nom, les données saisies auparavant devant le nom x disparaissent de la ligne de ce nom, mais apparaissent sur la ligne du nouveau Nom saisi sur l'objet Text de la feuille consultation
Bien sur il y a toujours une condition pour chacune de modification
Une partie de mon objectif se réalise, à savoir la disparition des données de la ligne de l'Index modifié
mais l'apparition des ces données sur la ligne du nouveau Nom ne se réalise pas
pour plus d'éclaircissement
l'instruction équivalente à case is <> se réalise
par contre celle concernant Case = ne se réalise pas
Merci d'avance pour votre aide
J'ai besoin de votre aide. Je me suis trouvé coincé au bout du couloir. Je n'arrive pas à dépasser le niveau de la mise à jour, surtout la commande Modifier
Pour information
Je travaille avec VB6 et Acces 2007, utilisant la requête SQL
sur le Module, j'ai écris
Public DB as New ADOBD.Connection
Public RS as New ADODB.RecordSet
Public Rss as New ADODB.RecordSet
Public SQLs as String
Sur acces il y a Trois Tables
Une TablePrincipale ( stock les données saisies à partir de la feuille de saisie )
Deux Tables Secondaires indexéeqs ( TableNom, TableMatiere )
TableNom est indexée par Les Nom
TableMatiere est indexée par les Matiere
Mon problème se situe au niveau de la commande Modifier.
Sur la feuille d'affichage pour la consultation en vue de la modification, les données sélectionnées sur la feuille de Recherche s'affichent
lorsque je change le contenu d'un objet text, le changement s'effectue :
Normalement sur la TablePrincipale
Normalement sur les deux Tables secondaires tant que Nom ( index sur la TableNom ) et Matiere ( Index sur la TableMatiere ) n'ont pas été modifié sur la feuille de consultation en vue de la modification
Mon objectif est : lorsque je change sur la feuille de consultation en vue de modification, par exemple Nom, les données saisies auparavant devant le nom x disparaissent de la ligne de ce nom, mais apparaissent sur la ligne du nouveau Nom saisi sur l'objet Text de la feuille consultation
Bien sur il y a toujours une condition pour chacune de modification
Une partie de mon objectif se réalise, à savoir la disparition des données de la ligne de l'Index modifié
mais l'apparition des ces données sur la ligne du nouveau Nom ne se réalise pas
pour plus d'éclaircissement
Sub cmdModifier_Click ()
if NOrdre = TNOrdre then
Goto Ne_Fais_Rien :
end if
SQLs="Select * TablePrincipale where NOrdre = " & TNOrdre &""
if Rss.State=adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeySet, adLockPessimistic
if Rss.EOF then
Goto Oks:
else
msgbox" Ce Numero Existe "
exit sub
end if
Oks:
'-------
Ne_Fais_Rien:
ActuMsg=msgbox("Voulez vous modofier ?",VBquestion+vbYesNo,)
if AcuMsg=vbYes then
'-----l'Actualisation de la TablePrincipale
RS![Nom]=TNom
RS![Matiere]=TMatiere
RS![Note]=TNote
RS.Update
'--------------------------------------------
Dim N
N=CStr(TNom)
SQLs="Select * from TableNom where Nom = '" & CStr(TNom) &"'"
if Rss.State=adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeySet, adLockPessimistic
'-----l'Actualisation de la TableNom
Selct Case TNom
Case is <> RS![Nom]
RS![NOrdre]=0
RS![Matiere]=""
RS![Note]=0
Case Else
RS![NOrdre]=TNOrdre
RS![Matiere]=TMatiere
RS![Note]=TNote
end Select
RS.Update
'-------------------------------------------------
'-----l'Actualisation de la TableMatiere
Dim M
M=CStr(TMatiere)
SQLs="Select * from TableMatiere where Matiere = '" & CStr(TMatiere) &"'"
if Rss.State=adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeySet, adLockPessimistic
Selct Case TMatiere
Case is <> RS![Matiere]
RS![NOrdre]
RS![Nom]=""
RS![Note]=0
Case Else
rs![NOrdre]
RS![Nom]=TNom
RS![Note]=TNote
end Select
RS.Update
end if
FRecherche.Show
Load me
end sub
l'instruction équivalente à case is <> se réalise
par contre celle concernant Case = ne se réalise pas
Merci d'avance pour votre aide
A voir également:
- Mise à jour VB6 et Access 2007 avec requête SQL
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Save as pdf office 2007 - Télécharger - Bureautique
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Vb6 - Télécharger - Divers Utilitaires
28 réponses
Re,
petite mofid sur correction saisie (toujours pas form editionsaisie)
https://www.cjoint.com/?DEznJbEffAW
regardez cette partie correction saisie, elle est beaucoup plus simple que ce que vous avez fait. De meme que j'avais simplifie le code de la saise des notes mais ......
A+
petite mofid sur correction saisie (toujours pas form editionsaisie)
https://www.cjoint.com/?DEznJbEffAW
regardez cette partie correction saisie, elle est beaucoup plus simple que ce que vous avez fait. De meme que j'avais simplifie le code de la saise des notes mais ......
A+
Bonjour l'Ami,
Je viens juste de récupérer les fichiers envoyés.
Je vais les ouvrir pour voir vos corrections.
Merci pour tout
A plus
Je viens juste de récupérer les fichiers envoyés.
Je vais les ouvrir pour voir vos corrections.
Merci pour tout
A plus
Bonjour l'ami,
Vraiment vos codes sont bien agencés.
Votre façon d'écriture est celle d'un professionnel.
Il me faut beaucoup de temps de cerner les astuces du VB.
Je vous ecris pour vous exposer un autre problème qui me casse la tête, à savoir
le Recalcul des cumuls des notes après la modification
expemple
j'ai sur la feuille de saisie ( et de Recherche)
N CodeEtudiant Nom_Prenom Matiere Note CumulNote
1 1000 XXXX VCT Math 14 14
2 1000 XXXX VCT Phys 12 26
Je modifie la note de la ligne 1
au lieu de 14 je mets 16
comment recalculer le CumiulNote pour avoir 28
Salutations
A plus
Vraiment vos codes sont bien agencés.
Votre façon d'écriture est celle d'un professionnel.
Il me faut beaucoup de temps de cerner les astuces du VB.
Je vous ecris pour vous exposer un autre problème qui me casse la tête, à savoir
le Recalcul des cumuls des notes après la modification
expemple
j'ai sur la feuille de saisie ( et de Recherche)
N CodeEtudiant Nom_Prenom Matiere Note CumulNote
1 1000 XXXX VCT Math 14 14
2 1000 XXXX VCT Phys 12 26
Je modifie la note de la ligne 1
au lieu de 14 je mets 16
comment recalculer le CumiulNote pour avoir 28
Salutations
A plus
Bonjour,
comment recalculer le CumiulNote pour avoir 28 ??????? c'est 16 en note cumulee Math si vous remplacez 14 par 16 et c'est 30 si 16 est une nouvelle note
comment recalculer le CumiulNote pour avoir 28 ??????? c'est 16 en note cumulee Math si vous remplacez 14 par 16 et c'est 30 si 16 est une nouvelle note
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour l'Ami,
Effectivement, je veux changer le cumul de la preimère ligne
Avant la modification
N Code Etudiant Nom_Prenom Matiere Note CumulNote
1 1000 XXXX VCT Math 14 14
2 1000 XXXX VCT Phys 12 26
Après la Modification ( je change 14 ( Note ) par 16
N CodeEtudiant Nom_Prenom Matiere Note CumulNote
1 1000 XXXX VCT Math 16 16
2 1000 XXXX VCT Phys 12 28
Si je changeais 14 par 16, le cumul change et devient 16
et si on ajoute 12 il devient 28
J'espère que j'ai bien exposé mon problème
A plus l'Ami
Effectivement, je veux changer le cumul de la preimère ligne
Avant la modification
N Code Etudiant Nom_Prenom Matiere Note CumulNote
1 1000 XXXX VCT Math 14 14
2 1000 XXXX VCT Phys 12 26
Après la Modification ( je change 14 ( Note ) par 16
N CodeEtudiant Nom_Prenom Matiere Note CumulNote
1 1000 XXXX VCT Math 16 16
2 1000 XXXX VCT Phys 12 28
Si je changeais 14 par 16, le cumul change et devient 16
et si on ajoute 12 il devient 28
J'espère que j'ai bien exposé mon problème
A plus l'Ami
Re,
Pour le moins curieux cette facon de faire le cumul.
Je n'ai pas le projet avec le cumul note sur la form saisie recherche !!!!!! donc peut pas repondre plus
Pour le moins curieux cette facon de faire le cumul.
Je n'ai pas le projet avec le cumul note sur la form saisie recherche !!!!!! donc peut pas repondre plus
Re
Je te remmetrrai le projet pour vous permettre de voir clair
https://www.cjoint.com/?0ECsNDGZplh
J'espère ne pas vous dérranger
A plus
Je te remmetrrai le projet pour vous permettre de voir clair
https://www.cjoint.com/?0ECsNDGZplh
J'espère ne pas vous dérranger
A plus
Bonjour,
La Saisie Form EditionSaisie est bien pensee, mais avec votre logique, pas simple a remplir voir impossible et si vous modifie une note ce sera de meme
Dans la table TableNotes, il doit y avoir tous les controles par matieres, comment voulez vous faire des calculs avec ce que vous avez enregistre dans votre table.
De plus, si une personne vous demande de lui montrer toutes ses notes ou conteste vos resultats, vous allez etre dans l'embarras. Une base de donnees doit contenir toutes les informations du premier niveau necessaires
Ces cumuls et moyenne doivent etre:
_dans une table avec une colonne Nom, CNE, Cumul Nombre de controles et moyenne
ou faire une requete avec le CNE en parametre de recherche et remplir un tableau avec le resultat de cette requete
La Saisie Form EditionSaisie est bien pensee, mais avec votre logique, pas simple a remplir voir impossible et si vous modifie une note ce sera de meme
Dans la table TableNotes, il doit y avoir tous les controles par matieres, comment voulez vous faire des calculs avec ce que vous avez enregistre dans votre table.
De plus, si une personne vous demande de lui montrer toutes ses notes ou conteste vos resultats, vous allez etre dans l'embarras. Une base de donnees doit contenir toutes les informations du premier niveau necessaires
Ces cumuls et moyenne doivent etre:
_dans une table avec une colonne Nom, CNE, Cumul Nombre de controles et moyenne
ou faire une requete avec le CNE en parametre de recherche et remplir un tableau avec le resultat de cette requete