Sélection multiple: Simple
Bonsoir membres du forum !
Comment faut il programmer un formulaire en mode tabulaire ou en mode Feuille de données
de sorte à sélectionner plusieurs lignes (Sélection multiple: Simple) telle qu'on le fait avec le contrôle
zone de liste ?
Cordialement.
Remplacer le numéroAuto de la table par un code de numéro numéroAuto personnalisés dans un champ numérique
Bonsoir membres du forum,
Bonsoir tee_grandbois,
Je désire modifier le champ NumVente_Fourn_Scol (NuméruAuto) de la table ArticlesScolairesEnregistres_Achetes
en champ de type de données numérique. Afin d'appeler le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
Public Sub NumVente_Fourn_Scol_AutoPerso()
Dim sWh As String
If Nz(Me.NumVente_Fourn_Scol, 0) = 0 Then
'--- test données nécessaires exitent
If Nz(Me.anneescol, "") = "" Then
MsgBox "Il manque anneescol"
Me.anneescol.SetFocus
ElseIf Nz(Me.Etabissement_NO, 0) = 0 Then
MsgBox "Il manque Etabissement_NO"
Me.Etabissement_NO.SetFocus
ElseIf Nz(Me.NumInsCriptEleve, 0) = 0 Then
MsgBox "Il manque NumInsCriptEleve"
Me.NumInsCriptEleve.SetFocus
Else
'--- détermine n° NumVente_Fourn_Scol
sWh = "NumInsCriptEleve=" & Me.NumInsCriptEleve & _
" AND Etabissement_NO=" & Me.Etabissement_NO & _
" AND anneescol='" & Me.anneescol & "'"
Me.NumVente_Fourn_Scol = DCount("NumVente_Fourn_Scol", "ArticlesScolairesEnregistres_Achetes", sWh) + 1
End If
Else
'--- ne rien faire: un n° chrono a déjà été donné
End If
End Sub
Private Sub Etabissement_NO_Change()
On Error Resume Next '--- parfois erreur quand entrée avec souris
Me.Etabissement_NO.Dropdown
End Sub
Private Sub Mleeleve_Change()
On Error Resume Next '--- parfois erreur quand entrée avec souris
Me.Mleeleve.Dropdown
End Sub
Private Sub Mleeleve_LostFocus()
NumVente_Fourn_Scol_AutoPerso
End Sub
Private Sub NumInsCriptEleve_Change()
On Error Resume Next '--- parfois erreur quand entrée avec souris
Me.NumInsCriptEleve.Dropdown
End Sub |
dans le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Private Sub BtnEnregisterArticles_Click()
Dim stMsg As String
Dim Itm As Variant
Dim oDb As Database
Dim oRS As Recordset
With Me.ListeArticleEnregistresA_Commander
' contrôle saisie articles
If .ItemsSelected.Count = 0 Then Exit Sub
' contrôle saisie client
If IsNull(Me.Num_Inscription) Then
MsgBox "L'élève n'a pas été sélectionné.", vbCritical
Me.Num_Inscription.SetFocus
Exit Sub
End If
stMsg = "Voulez-vous insérer les articles suivants:" & vbCrLf
For Each Itm In .ItemsSelected
stMsg = stMsg & .Column(1, Itm) & vbCrLf
Next Itm
' Confirmer l'insertion des articles
stMsg = stMsg & "?"
If MsgBox(stMsg, vbQuestion + vbYesNo) = vbNo Then Exit Sub
Set oDb = CurrentDb
Set oRS = oDb.OpenRecordset("ArticlesScolairesEnregistres_Achetes", dbOpenDynaset)
' ajout des éléments sélectionnés
For Each Itm In .ItemsSelected
oRS.AddNew
oRS.Fields("ARTICL_SCO_EnrAchete") = .Column(1, Itm)
oRS.Fields("AuteurArtScol") = .Column(2, Itm)
oRS.Fields("Etabissement_NO") = .Column(9, Itm)
oRS.Fields("anneescol") = .Column(8, Itm)
oRS.Fields("NumInsCriptEleve") = Me.Num_Inscription
oRS.Fields("Mleeleve") = Me.Txt_MleEleve
oRS.Update
Next Itm
' enlever la sélection
.RowSource = .RowSource
' affichage des éléments saisis
Me.Refresh
End With
End Sub |
qui pourrait me ramener le champ NumVente_Fourn_Scol de la table ArticlesScolairesEnregistres_Achetes.
Motif:
- Compte tenu du fait que le champ de type de données numéroAuto n'étant pas contrôlable ni modifiable, je souhaite avoir ce code qui génère des numéroAutos personnalisés au cas où il y aurais nécessité d'en modifier.
Cordialement.