Access 2003
Fermé
phystyno
Messages postés
1
Date d'inscription
mercredi 6 février 2013
Statut
Membre
Dernière intervention
6 février 2013
-
6 févr. 2013 à 14:30
phystyno - 11 févr. 2013 à 17:01
phystyno - 11 févr. 2013 à 17:01
A voir également:
- Access 2003
- Office 2003 - Télécharger - Bureautique
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Télécharger word 2003 - Forum Word
- Controller access network - Télécharger - Contrôle parental
2 réponses
Bonsoir,
Pourquoi tenter des choses compliquées quand il suffirait de faire simple, surtout si tu es débutant avec Access. L'idée de faire une numérotation personnalisée est bien sûr possible mais il est tellement simple d'utiliser N°Auto que je ne vois pas trop l'intérêt de trop chercher ailleurs. Et en plus en combinant des lettres et des chiffres. Maintenant si tu y tiens tant, autant que tu saches ce qu'il te faut faire.
1) Isoler les lettres des chiffres par une dé-concaténation type
Alpha =Left(Me![MonChampsN°],1) ,
Numero = Right(Me![MonChampsN°], Len(Me[MonChampsN°])-1)
2) Incrémentation :
Numero =Numero + 1
3) Re-Concaténation:
Me![MonChampsN°] = Alpha & Numero
On a vu plus simple pour avoir un champs s'incrémenter.
Deuxièmement, tu veux comparer 2 dates mais tu ne dis pas quel type de comparaison tu souhaites, ni de quelles dates (champs ou contrôles) ni de quelles tables ou requêtes il s'agit. Alors ....
Cordialement.
Pourquoi tenter des choses compliquées quand il suffirait de faire simple, surtout si tu es débutant avec Access. L'idée de faire une numérotation personnalisée est bien sûr possible mais il est tellement simple d'utiliser N°Auto que je ne vois pas trop l'intérêt de trop chercher ailleurs. Et en plus en combinant des lettres et des chiffres. Maintenant si tu y tiens tant, autant que tu saches ce qu'il te faut faire.
1) Isoler les lettres des chiffres par une dé-concaténation type
Alpha =Left(Me![MonChampsN°],1) ,
Numero = Right(Me![MonChampsN°], Len(Me[MonChampsN°])-1)
2) Incrémentation :
Numero =Numero + 1
3) Re-Concaténation:
Me![MonChampsN°] = Alpha & Numero
On a vu plus simple pour avoir un champs s'incrémenter.
Deuxièmement, tu veux comparer 2 dates mais tu ne dis pas quel type de comparaison tu souhaites, ni de quelles dates (champs ou contrôles) ni de quelles tables ou requêtes il s'agit. Alors ....
Cordialement.
Bonsoir,
Ma question était : " Tu veux comparer 2 dates mais tu ne dis pas quel type de comparaison tu souhaites, ni de quelles dates (champs ou contrôles) ni de quelles tables ou requêtes il s'agit.". Peu importe qu'il s'agissent de "DateDebut" et "DateFin", ça on s'en doute.
Ma question était : " Tu veux comparer 2 dates mais tu ne dis pas quel type de comparaison tu souhaites, ni de quelles dates (champs ou contrôles) ni de quelles tables ou requêtes il s'agit.". Peu importe qu'il s'agissent de "DateDebut" et "DateFin", ça on s'en doute.
j'ai une table Voiture dans laquelle se trouve un champ en format date qui contient la date d'achat des voitures, lorsque j'ai établi un form de recherche pour connaitre celles achetées pendant une période donnée et tout marche sauf au niveau des dates. voici ma requète de recherche
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT NumChas, Marque, Modele, AnneeCirc, Couleur, Odom, PA, DatA FROM VEHICULE Where NOT ISNULL(VEHICULE.NumChas)"
If Not IsNull(Me.txtChassis) Then
SQL = SQL & "And VEHICULE.NumChas like'*" & Me.txtChassis & "*'"
End If
If Not IsNull(Me.txtAnnee) Then
SQL = SQL & "And VEHICULE.AnneeCirc like'*" & Me.txtAnnee & "*'"
End If
If Not IsNull(Me.cmbMarque) Then
SQL = SQL & "And VEHICULE.Marque like'*" & Me.cmbMarque & "*'"
End If
If Not IsNull(Me.cmbModele) Then
SQL = SQL & "And VEHICULE.Modele like'*" & Me.cmbModele & "*'"
End If
If Not IsNull(Me.cmbCouleur) Then
SQL = SQL & "And VEHICULE.Couleur like'*" & Me.cmbCouleur & "*'"
End If
If Not IsNull(Me.txtDatDeb) And Not IsNull(Me.txtDatFin) Then
SQL = SQL & "And clng(VEHICULE.AnneeCirc) between" & CLng(Me.txtDatDeb) & " and " & CLng(Me.txtDatFin) & ""
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where") - Len("Where") + 1))
SQL = SQL & ";"
Me.lblStats.Caption = DCount("*", "VEHICULE", SQLWhere) & " / " & DCount("*", "VEHICULE")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Private Sub Form_Load()
Me.lstResults.RowSource = ""
Me.lstResults.Requery
End Sub
merci
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT NumChas, Marque, Modele, AnneeCirc, Couleur, Odom, PA, DatA FROM VEHICULE Where NOT ISNULL(VEHICULE.NumChas)"
If Not IsNull(Me.txtChassis) Then
SQL = SQL & "And VEHICULE.NumChas like'*" & Me.txtChassis & "*'"
End If
If Not IsNull(Me.txtAnnee) Then
SQL = SQL & "And VEHICULE.AnneeCirc like'*" & Me.txtAnnee & "*'"
End If
If Not IsNull(Me.cmbMarque) Then
SQL = SQL & "And VEHICULE.Marque like'*" & Me.cmbMarque & "*'"
End If
If Not IsNull(Me.cmbModele) Then
SQL = SQL & "And VEHICULE.Modele like'*" & Me.cmbModele & "*'"
End If
If Not IsNull(Me.cmbCouleur) Then
SQL = SQL & "And VEHICULE.Couleur like'*" & Me.cmbCouleur & "*'"
End If
If Not IsNull(Me.txtDatDeb) And Not IsNull(Me.txtDatFin) Then
SQL = SQL & "And clng(VEHICULE.AnneeCirc) between" & CLng(Me.txtDatDeb) & " and " & CLng(Me.txtDatFin) & ""
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where") - Len("Where") + 1))
SQL = SQL & ";"
Me.lblStats.Caption = DCount("*", "VEHICULE", SQLWhere) & " / " & DCount("*", "VEHICULE")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
Private Sub Form_Load()
Me.lstResults.RowSource = ""
Me.lstResults.Requery
End Sub
merci
9 févr. 2013 à 11:21
mais pour les dates je veux créer un formulaire de recherche multicritère qui comporte le filtre de deux dates c'est à dire entre une date début et une date fin
cordialement