Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Création de numéro de dossier annuel

1 réponse
Avatar
spiritspy
Bonjour,

Dans une base Access, je créé des dossiers et je désire les référencer via
le format suivant Bureau2008-35 où le dernier numéro est compté depuis le
début de l'année en cours, enregistrer ce résultat dans mon champs
Num_Affaire et l'année du jour en même temps dans le champs Annee, ensuite
ouvrir une MsgBox en affichant le num de dossier ...
J'ai du rater quelque chose dans ce qui suis, je demande votre aide, je suis
certain d'y être presque.

Private Sub Creation_Dossier_Click()

Me.Requery

Dim sql As String
Dim dossier As String

'Comptage depuis le début de l'année
sql = "SELECT YEAR(Date_Ouverture) as Annee from T_SYD_Affaire, COUNT(N°) as
NbEnr From T_SYD_Affaire WHERE YEAR(Date_Ouverture)=YEAR(Date()) GROUP BY
YEAR(Date_Ouverture)"

' Définition du code dossier
dossier = "SELECT ('Bureau') & FORMAT(Date(Date_Ouverture),'yyyy')& sql FROM
T_SYD_Affaire"

Num_Affaire = dossier

MsgBox "([Num_Affaire].value) essai ", vbInformation, "Dossier Créé"

End Sub


Je rajoute tout de même des explications sur mes termes utilisés ...

T_SYD_Affaire --> la table avec laquelle je travaille
Date_Ouverture --> date de création du dossier Date() auto
Annee --> l'année en cours à la création qui doit être créé par la sql ou
autre si je trouve l'idée
Num_Affaire --> Champs devenant le numéro de dossier.


Merci d'avance à tous.

1 réponse

Avatar
Zoury
Salut !

Pour bien te dépanner, il nous manquerais quelques détails, comme par
exemple les déclarations de toutes tes variables et la description du
résultat obtenu vs le résultat attendu. Parcontre...

dossier = "SELECT ('Bureau') & FORMAT(Date(Date_Ouverture),'yyyy')& sql
FROM
T_SYD_Affaire"

Num_Affaire = dossier



Cette ligne ne peut pas fonctionner... Tu dois *exécuter* ta requête (celle
qui est contenu dans ta variable "dossier") et ensuite affecter le résultat
à ta variable "Num_Affaire".
Présentement, tu ne fais qu'affecter une variable de type String à une autre
variable (de type inconnu puisque nous n'avons pas sa déclaration).

Pour exécuter une requête sur une base Access à partir de VB, voici un
exemple
http://en.allexperts.com/q/Visual-Basic-1048/vb6-sql-query-access.htm.

Et concernant ta requête et/ou schéma de table, saches qu'il est très
déconseiller d'utiliser des caractères spéciaux pour nommer des éléments de
code (variable, fonctions, classe, etc) ou de base de données(base de
donnée, tables, champs, etc). Suffit que tu exécutes ton application sur un
installation Windows d'une autre langue et ton code pourrait ne plus
fonctionner du tout. Donc, je te suggère de renommer ton champ "N°"
autrement (Numero, No, Num, etc).

N'hésite pas si tu as des questions.
Yanick Lefebvre

"spiritspy" a écrit dans le message de news:

Bonjour,

Dans une base Access, je créé des dossiers et je désire les référencer via
le format suivant Bureau2008-35 où le dernier numéro est compté depuis le
début de l'année en cours, enregistrer ce résultat dans mon champs
Num_Affaire et l'année du jour en même temps dans le champs Annee, ensuite
ouvrir une MsgBox en affichant le num de dossier ...
J'ai du rater quelque chose dans ce qui suis, je demande votre aide, je
suis
certain d'y être presque.

Private Sub Creation_Dossier_Click()

Me.Requery

Dim sql As String
Dim dossier As String

'Comptage depuis le début de l'année
sql = "SELECT YEAR(Date_Ouverture) as Annee from T_SYD_Affaire, COUNT(N°)
as
NbEnr From T_SYD_Affaire WHERE YEAR(Date_Ouverture)=YEAR(Date()) GROUP BY
YEAR(Date_Ouverture)"

' Définition du code dossier
dossier = "SELECT ('Bureau') & FORMAT(Date(Date_Ouverture),'yyyy')& sql
FROM
T_SYD_Affaire"

Num_Affaire = dossier

MsgBox "([Num_Affaire].value) essai ", vbInformation, "Dossier Créé"

End Sub


Je rajoute tout de même des explications sur mes termes utilisés ...

T_SYD_Affaire --> la table avec laquelle je travaille
Date_Ouverture --> date de création du dossier Date() auto
Annee --> l'année en cours à la création qui doit être créé par la sql ou
autre si je trouve l'idée
Num_Affaire --> Champs devenant le numéro de dossier.


Merci d'avance à tous.