Encore un pbm sur vb!!!
ISA
-
isa -
isa -
Je travaille donc sur Visual Basic et sur Access...
Je fais une interface en Visual Basic...
Chaque table sous Access correspond à une feuille sous Visual Basic...
Mais sur certaines feuille (sous VB) je veux faire apparaitre des noms de champs qui n'appartiennent pas à la table correspondante... alors je dois faire quoi? une jointure?
Je vous donne un exemple de mon code pour une feuille:
Public orga As Database
Public composer As Recordset
Private Sub ClearFields()
txtComposer1 = ""
txtComposer2 = ""
txtComposer3 = ""
txtComposer4 = ""
txtComposer5 = ""
End Sub
Private Sub cmdComposerAjouter_Click()
ClearFields 'procedure qui efface tous les champs
composer.AddNew
comp
End Sub
Private Sub cmdComposerAnnuler_Click()
composer.CancelUpdate
comp
End Sub
Private Sub cmdComposerEnregistrer_Click()
composer("CodeModule") = txtComposer1.Text
composer("") = txtComposer2.Text
composer("CodeAction") = txtComposer3.Text
composer("") = txtComposer4.Text
composer("JoursThéoriques") = txtComposer5.Text
composer.Update 'enregistrer
End Sub
Private Sub cmdcomposerFermer_Click()
Unload frmComposer
frmIndex.Show
End Sub
Private Sub cmdComposerModifier_Click()
composer.Edit
comp
End Sub
Private Sub cmdcomposerPrécédent_Click()
composer.MovePrevious
If composer.BOF Then
composer.MoveFirst
End If
comp
End Sub
Private Sub cmdcomposerSuivant_Click()
composer.MoveNext
If composer.EOF Then
composer.MoveLast
End If
comp
End Sub
Private Sub cmdComposerSupprimer_Click()
rep = MsgBox("Etes-vous sûr de vouloir supprimer?", vbYesNo, "Attention")
Select Case rep
Case 6
composer.Delete
composer.MoveNext
If composer.EOF Then
composer.MoveLast
End If
comp 'liste des champs
Case 7
frmComposer.Show
End Select
End Sub
Private Sub Form_Load()
Set orga = OpenDatabase("\\tarbes\provisoire\interventions\organisation.mdb")
Set composer = orga.OpenRecordset("Etre Composer")
comp
End Sub
Private Sub comp()
' en cas d'erreur, passe a la ligne suivante
' sans déclancher d'erreur
On Error Resume Next
txtComposer1.Text = ""
txtComposer1.Text = composer![CodeModule]
txtComposer2.Text = ""
txtComposer2.Text = composer![] 'je veux faire apparaitre le libellé du module qui se trouve dans la table Module
txtComposer3.Text = ""
txtComposer3.Text = composer![CodeAction]
txtComposer4.Text = ""
txtComposer4.Text = composer![] 'je veux faire aparaitre l'intitulé de l'Action qui se trouve dans la table Action
txtComposer5.Text = ""
txtComposer5.Text = composer![JoursThéoriques]
' annule le ON error resume next
' en cas d'erreur, déclenche l'erreur
' et arrete le déroulement
On Error GoTo 0
End Sub
Merci à ceux qui voudront bien m'aider...
Je fais une interface en Visual Basic...
Chaque table sous Access correspond à une feuille sous Visual Basic...
Mais sur certaines feuille (sous VB) je veux faire apparaitre des noms de champs qui n'appartiennent pas à la table correspondante... alors je dois faire quoi? une jointure?
Je vous donne un exemple de mon code pour une feuille:
Public orga As Database
Public composer As Recordset
Private Sub ClearFields()
txtComposer1 = ""
txtComposer2 = ""
txtComposer3 = ""
txtComposer4 = ""
txtComposer5 = ""
End Sub
Private Sub cmdComposerAjouter_Click()
ClearFields 'procedure qui efface tous les champs
composer.AddNew
comp
End Sub
Private Sub cmdComposerAnnuler_Click()
composer.CancelUpdate
comp
End Sub
Private Sub cmdComposerEnregistrer_Click()
composer("CodeModule") = txtComposer1.Text
composer("") = txtComposer2.Text
composer("CodeAction") = txtComposer3.Text
composer("") = txtComposer4.Text
composer("JoursThéoriques") = txtComposer5.Text
composer.Update 'enregistrer
End Sub
Private Sub cmdcomposerFermer_Click()
Unload frmComposer
frmIndex.Show
End Sub
Private Sub cmdComposerModifier_Click()
composer.Edit
comp
End Sub
Private Sub cmdcomposerPrécédent_Click()
composer.MovePrevious
If composer.BOF Then
composer.MoveFirst
End If
comp
End Sub
Private Sub cmdcomposerSuivant_Click()
composer.MoveNext
If composer.EOF Then
composer.MoveLast
End If
comp
End Sub
Private Sub cmdComposerSupprimer_Click()
rep = MsgBox("Etes-vous sûr de vouloir supprimer?", vbYesNo, "Attention")
Select Case rep
Case 6
composer.Delete
composer.MoveNext
If composer.EOF Then
composer.MoveLast
End If
comp 'liste des champs
Case 7
frmComposer.Show
End Select
End Sub
Private Sub Form_Load()
Set orga = OpenDatabase("\\tarbes\provisoire\interventions\organisation.mdb")
Set composer = orga.OpenRecordset("Etre Composer")
comp
End Sub
Private Sub comp()
' en cas d'erreur, passe a la ligne suivante
' sans déclancher d'erreur
On Error Resume Next
txtComposer1.Text = ""
txtComposer1.Text = composer![CodeModule]
txtComposer2.Text = ""
txtComposer2.Text = composer![] 'je veux faire apparaitre le libellé du module qui se trouve dans la table Module
txtComposer3.Text = ""
txtComposer3.Text = composer![CodeAction]
txtComposer4.Text = ""
txtComposer4.Text = composer![] 'je veux faire aparaitre l'intitulé de l'Action qui se trouve dans la table Action
txtComposer5.Text = ""
txtComposer5.Text = composer![JoursThéoriques]
' annule le ON error resume next
' en cas d'erreur, déclenche l'erreur
' et arrete le déroulement
On Error GoTo 0
End Sub
Merci à ceux qui voudront bien m'aider...
A voir également:
- Encore un pbm sur vb!!!
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Vb editor - Télécharger - Langages
- Vb runtime - Télécharger - Divers Utilitaires
- Vb express - Télécharger - Langages
3 réponses
Euh, plusieurs remarques, une heure c'est pas suffisant pour s'impatienter, de maniere generale apres une journee, tu peux remonter ton sujet avec un petit mot gentil, mais on n'est nullement oblige de t'aider, on fait tous ca sur notre tmps libre ou notre temps de travail...
Deuxieme remarque, c'est un peu indigeste tout le code comme ca et je pense que ca decourage pas mal de monde (j'avoue ne pas avoir tout lu)
Par contre, a mon avis le plus simple est de creer une requete dans ta base access et apres d'utiliser la requete comme source, pour peux que tu n'ai pas vesoin de toute ta table, ca accelere aussi les choses si la requete est bien faite...
. .
\_/
Deuxieme remarque, c'est un peu indigeste tout le code comme ca et je pense que ca decourage pas mal de monde (j'avoue ne pas avoir tout lu)
Par contre, a mon avis le plus simple est de creer une requete dans ta base access et apres d'utiliser la requete comme source, pour peux que tu n'ai pas vesoin de toute ta table, ca accelere aussi les choses si la requete est bien faite...
. .
\_/