Bonjour,
Je travaille sur des commandes et je fais mes comptes chaque semaine.
Comment puis-je faire pour archiver mes données en ne me servant pas d'une
date mais d'un numéro de semaine afin de retrouver facilement mes comptes?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
Bonjour "Deliriuma"
Tu peux faire ca en code pour archiver tes données
1-Création de la table tArchive avec les champs que tu veux et un Champ n° de semaine defini en Numérique Integer
2- Création d'une procédure en VBA ajoutant les enregistrements dans la table tArchive en fonction du n° de semaine
Sub Test503() Dim rs As DAO.Recordset, t As DAO.Recordset, reponse As String Set t = CurrentDb.OpenRecordset("tArchiveTest") Set rs = CurrentDb.OpenRecordset("tFacture") reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub rs.MoveFirst While Not rs.EOF t.AddNew If DatePart("ww", rs!DateFacture, 2) = CInt(reponse) Then ' 2 pour que la semaine débute le lundi et non le dimanche t!NumFacture = rs!NumFacture t!DateFacture = rs!DateFacture t!MontantHT = rs!MontantHT t!NumSemaine = DatePart("ww", rs!DateFacture, 2) t.Update End If rs.MoveNext Wend End Sub
3- Pour retrouver tes comptes, il suffira de créer une requête sur la table tArchive en paramétrant le champ NumSemaine.
Voila A+ Eric
PS1: Tu peux faire ca aussi en sql, un sql remplissant la table et un sql mettant à jour le champ NumSemaine.
Au diable l'avarice, je te la donne aussi :-))
Sub Test504() Dim sql As String, reponse As String reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub sql = "Insert Into tArchiveTest select DateFacture, NumFacture, MontantHT " sql = sql & "from tFacture where DatePart('ww',DateFacture,2)=" & CInt(reponse) & ";" ' La fonction DatePart te permet de préciser le jour de début de semaine ' Par défaut c'est le dimanche (1), pour nous le Lundi donc , j'ai mis 2 CurrentDb.Execute sql sql = "Update tArchiveTest set NumSemaine=" & CInt(reponse) & " where DatePart('ww',DateFacture,2)=" & CInt(reponse) CurrentDb.Execute sql End Sub
PS2: Tu peux toujours améliorer en vérifiant si la table tArchive existe ou non et en fonction la créer ou ajouter seulement.
"Deliriuma" écrivait news:406e7c6b$0$292$:
Bonjour, Je travaille sur des commandes et je fais mes comptes chaque semaine. Comment puis-je faire pour archiver mes données en ne me servant pas d'une date mais d'un numéro de semaine afin de retrouver facilement mes comptes?
Bonjour "Deliriuma"
Tu peux faire ca en code pour archiver tes données
1-Création de la table tArchive avec les champs que tu veux et un Champ
n° de semaine defini en Numérique Integer
2- Création d'une procédure en VBA ajoutant les enregistrements dans la
table tArchive en fonction du n° de semaine
Sub Test503()
Dim rs As DAO.Recordset, t As DAO.Recordset, reponse As String
Set t = CurrentDb.OpenRecordset("tArchiveTest")
Set rs = CurrentDb.OpenRecordset("tFacture")
reponse = InputBox("Pour quel n° de semaine ?")
If Len(reponse) = 0 Then Exit Sub
rs.MoveFirst
While Not rs.EOF
t.AddNew
If DatePart("ww", rs!DateFacture, 2) = CInt(reponse) Then
' 2 pour que la semaine débute le lundi et non le dimanche
t!NumFacture = rs!NumFacture
t!DateFacture = rs!DateFacture
t!MontantHT = rs!MontantHT
t!NumSemaine = DatePart("ww", rs!DateFacture, 2)
t.Update
End If
rs.MoveNext
Wend
End Sub
3- Pour retrouver tes comptes, il suffira de créer une requête sur la
table tArchive en paramétrant le champ NumSemaine.
Voila
A+
Eric
PS1: Tu peux faire ca aussi en sql, un sql remplissant la table et un sql
mettant à jour le champ NumSemaine.
Au diable l'avarice, je te la donne aussi :-))
Sub Test504()
Dim sql As String, reponse As String
reponse = InputBox("Pour quel n° de semaine ?")
If Len(reponse) = 0 Then Exit Sub
sql = "Insert Into tArchiveTest select DateFacture, NumFacture,
MontantHT "
sql = sql & "from tFacture where DatePart('ww',DateFacture,2)=" &
CInt(reponse) & ";"
' La fonction DatePart te permet de préciser le jour de début de
semaine
' Par défaut c'est le dimanche (1), pour nous le Lundi donc , j'ai
mis 2
CurrentDb.Execute sql
sql = "Update tArchiveTest set NumSemaine=" & CInt(reponse) & " where
DatePart('ww',DateFacture,2)=" & CInt(reponse)
CurrentDb.Execute sql
End Sub
PS2: Tu peux toujours améliorer en vérifiant si la table tArchive existe
ou non et en fonction la créer ou ajouter seulement.
Bonjour,
Je travaille sur des commandes et je fais mes comptes chaque semaine.
Comment puis-je faire pour archiver mes données en ne me servant pas
d'une date mais d'un numéro de semaine afin de retrouver facilement
mes comptes?
Tu peux faire ca en code pour archiver tes données
1-Création de la table tArchive avec les champs que tu veux et un Champ n° de semaine defini en Numérique Integer
2- Création d'une procédure en VBA ajoutant les enregistrements dans la table tArchive en fonction du n° de semaine
Sub Test503() Dim rs As DAO.Recordset, t As DAO.Recordset, reponse As String Set t = CurrentDb.OpenRecordset("tArchiveTest") Set rs = CurrentDb.OpenRecordset("tFacture") reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub rs.MoveFirst While Not rs.EOF t.AddNew If DatePart("ww", rs!DateFacture, 2) = CInt(reponse) Then ' 2 pour que la semaine débute le lundi et non le dimanche t!NumFacture = rs!NumFacture t!DateFacture = rs!DateFacture t!MontantHT = rs!MontantHT t!NumSemaine = DatePart("ww", rs!DateFacture, 2) t.Update End If rs.MoveNext Wend End Sub
3- Pour retrouver tes comptes, il suffira de créer une requête sur la table tArchive en paramétrant le champ NumSemaine.
Voila A+ Eric
PS1: Tu peux faire ca aussi en sql, un sql remplissant la table et un sql mettant à jour le champ NumSemaine.
Au diable l'avarice, je te la donne aussi :-))
Sub Test504() Dim sql As String, reponse As String reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub sql = "Insert Into tArchiveTest select DateFacture, NumFacture, MontantHT " sql = sql & "from tFacture where DatePart('ww',DateFacture,2)=" & CInt(reponse) & ";" ' La fonction DatePart te permet de préciser le jour de début de semaine ' Par défaut c'est le dimanche (1), pour nous le Lundi donc , j'ai mis 2 CurrentDb.Execute sql sql = "Update tArchiveTest set NumSemaine=" & CInt(reponse) & " where DatePart('ww',DateFacture,2)=" & CInt(reponse) CurrentDb.Execute sql End Sub
PS2: Tu peux toujours améliorer en vérifiant si la table tArchive existe ou non et en fonction la créer ou ajouter seulement.
"Deliriuma" écrivait news:406e7c6b$0$292$:
Bonjour, Je travaille sur des commandes et je fais mes comptes chaque semaine. Comment puis-je faire pour archiver mes données en ne me servant pas d'une date mais d'un numéro de semaine afin de retrouver facilement mes comptes?
Patatrac92
bonjour,
tu peux utiliser ça : Format(Date, "ww") qui retourne le n° de la semaine correspondant à la date
Patrice
"Deliriuma" a écrit dans le message de news:406e7c6b$0$292$
Bonjour, Je travaille sur des commandes et je fais mes comptes chaque semaine. Comment puis-je faire pour archiver mes données en ne me servant pas d'une date mais d'un numéro de semaine afin de retrouver facilement mes comptes?
bonjour,
tu peux utiliser ça : Format(Date, "ww") qui retourne le n° de la semaine
correspondant à la date
Patrice
"Deliriuma" <michael-dubois@club-internet.fr> a écrit dans le message de
news:406e7c6b$0$292$7a628cd7@news.club-internet.fr...
Bonjour,
Je travaille sur des commandes et je fais mes comptes chaque semaine.
Comment puis-je faire pour archiver mes données en ne me servant pas d'une
date mais d'un numéro de semaine afin de retrouver facilement mes comptes?
tu peux utiliser ça : Format(Date, "ww") qui retourne le n° de la semaine correspondant à la date
Patrice
"Deliriuma" a écrit dans le message de news:406e7c6b$0$292$
Bonjour, Je travaille sur des commandes et je fais mes comptes chaque semaine. Comment puis-je faire pour archiver mes données en ne me servant pas d'une date mais d'un numéro de semaine afin de retrouver facilement mes comptes?
Eric
re,
Je parle d'une table tArchive et j'ai mis dans le code tArchiveTest, je pense que tu auras corrigé de toi même. De plus, j'ai oublié de te préciser de charger les reférences DAO 3.x dans ton projet pour ce qui concerne la 1ere mouture. Enfin, toujours dans cette version DAO, en ouvrant la table tFacture comme un jeu d'enregistrements dbOpenRecordset, il y a de fortes chances qu'en utilisant la méthode Find, le traitement soit plus rapide. ( Le code pour une prochaine fois si vraiment tu le veux ;-) )
A+ Eric
Eric écrivait news::
Bonjour "Deliriuma"
Tu peux faire ca en code pour archiver tes données
1-Création de la table tArchive avec les champs que tu veux et un Champ n° de semaine defini en Numérique Integer
2- Création d'une procédure en VBA ajoutant les enregistrements dans la table tArchive en fonction du n° de semaine
Sub Test503() Dim rs As DAO.Recordset, t As DAO.Recordset, reponse As String Set t = CurrentDb.OpenRecordset("tArchiveTest") Set rs = CurrentDb.OpenRecordset("tFacture") reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub rs.MoveFirst While Not rs.EOF t.AddNew If DatePart("ww", rs!DateFacture, 2) = CInt(reponse) Then ' 2 pour que la semaine débute le lundi et non le dimanche t!NumFacture = rs!NumFacture t!DateFacture = rs!DateFacture t!MontantHT = rs!MontantHT t!NumSemaine = DatePart("ww", rs!DateFacture, 2) t.Update End If rs.MoveNext Wend End Sub
3- Pour retrouver tes comptes, il suffira de créer une requête sur la table tArchive en paramétrant le champ NumSemaine.
Voila A+ Eric
PS1: Tu peux faire ca aussi en sql, un sql remplissant la table et un sql mettant à jour le champ NumSemaine.
Au diable l'avarice, je te la donne aussi :-))
Sub Test504() Dim sql As String, reponse As String reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub sql = "Insert Into tArchiveTest select DateFacture, NumFacture, MontantHT " sql = sql & "from tFacture where DatePart('ww',DateFacture,2)=" & CInt(reponse) & ";" ' La fonction DatePart te permet de préciser le jour de début de semaine ' Par défaut c'est le dimanche (1), pour nous le Lundi donc , j'ai mis 2 CurrentDb.Execute sql sql = "Update tArchiveTest set NumSemaine=" & CInt(reponse) & " where DatePart('ww',DateFacture,2)=" & CInt(reponse) CurrentDb.Execute sql End Sub
PS2: Tu peux toujours améliorer en vérifiant si la table tArchive existe ou non et en fonction la créer ou ajouter seulement.
"Deliriuma" écrivait news:406e7c6b$0$292$:
Bonjour, Je travaille sur des commandes et je fais mes comptes chaque semaine. Comment puis-je faire pour archiver mes données en ne me servant pas d'une date mais d'un numéro de semaine afin de retrouver facilement mes comptes?
re,
Je parle d'une table tArchive et j'ai mis dans le code tArchiveTest, je
pense que tu auras corrigé de toi même.
De plus, j'ai oublié de te préciser de charger les reférences DAO 3.x dans
ton projet pour ce qui concerne la 1ere mouture.
Enfin, toujours dans cette version DAO, en ouvrant la table tFacture comme
un jeu d'enregistrements dbOpenRecordset, il y a de fortes chances qu'en
utilisant la méthode Find, le traitement soit plus rapide. ( Le code pour
une prochaine fois si vraiment tu le veux ;-) )
A+
Eric
Eric <f_framZZ@hotmail.com> écrivait
news:XnF94C0810D6FD8BfframZZhotmailcom@207.46.248.16:
Bonjour "Deliriuma"
Tu peux faire ca en code pour archiver tes données
1-Création de la table tArchive avec les champs que tu veux et un
Champ n° de semaine defini en Numérique Integer
2- Création d'une procédure en VBA ajoutant les enregistrements dans
la table tArchive en fonction du n° de semaine
Sub Test503()
Dim rs As DAO.Recordset, t As DAO.Recordset, reponse As String
Set t = CurrentDb.OpenRecordset("tArchiveTest")
Set rs = CurrentDb.OpenRecordset("tFacture")
reponse = InputBox("Pour quel n° de semaine ?")
If Len(reponse) = 0 Then Exit Sub
rs.MoveFirst
While Not rs.EOF
t.AddNew
If DatePart("ww", rs!DateFacture, 2) = CInt(reponse) Then
' 2 pour que la semaine débute le lundi et non le dimanche
t!NumFacture = rs!NumFacture
t!DateFacture = rs!DateFacture
t!MontantHT = rs!MontantHT
t!NumSemaine = DatePart("ww", rs!DateFacture, 2)
t.Update
End If
rs.MoveNext
Wend
End Sub
3- Pour retrouver tes comptes, il suffira de créer une requête sur la
table tArchive en paramétrant le champ NumSemaine.
Voila
A+
Eric
PS1: Tu peux faire ca aussi en sql, un sql remplissant la table et un
sql mettant à jour le champ NumSemaine.
Au diable l'avarice, je te la donne aussi :-))
Sub Test504()
Dim sql As String, reponse As String
reponse = InputBox("Pour quel n° de semaine ?")
If Len(reponse) = 0 Then Exit Sub
sql = "Insert Into tArchiveTest select DateFacture, NumFacture,
MontantHT "
sql = sql & "from tFacture where DatePart('ww',DateFacture,2)=" &
CInt(reponse) & ";"
' La fonction DatePart te permet de préciser le jour de début de
semaine
' Par défaut c'est le dimanche (1), pour nous le Lundi donc , j'ai
mis 2
CurrentDb.Execute sql
sql = "Update tArchiveTest set NumSemaine=" & CInt(reponse) & "
where
DatePart('ww',DateFacture,2)=" & CInt(reponse)
CurrentDb.Execute sql
End Sub
PS2: Tu peux toujours améliorer en vérifiant si la table tArchive
existe ou non et en fonction la créer ou ajouter seulement.
Bonjour,
Je travaille sur des commandes et je fais mes comptes chaque semaine.
Comment puis-je faire pour archiver mes données en ne me servant pas
d'une date mais d'un numéro de semaine afin de retrouver facilement
mes comptes?
Je parle d'une table tArchive et j'ai mis dans le code tArchiveTest, je pense que tu auras corrigé de toi même. De plus, j'ai oublié de te préciser de charger les reférences DAO 3.x dans ton projet pour ce qui concerne la 1ere mouture. Enfin, toujours dans cette version DAO, en ouvrant la table tFacture comme un jeu d'enregistrements dbOpenRecordset, il y a de fortes chances qu'en utilisant la méthode Find, le traitement soit plus rapide. ( Le code pour une prochaine fois si vraiment tu le veux ;-) )
A+ Eric
Eric écrivait news::
Bonjour "Deliriuma"
Tu peux faire ca en code pour archiver tes données
1-Création de la table tArchive avec les champs que tu veux et un Champ n° de semaine defini en Numérique Integer
2- Création d'une procédure en VBA ajoutant les enregistrements dans la table tArchive en fonction du n° de semaine
Sub Test503() Dim rs As DAO.Recordset, t As DAO.Recordset, reponse As String Set t = CurrentDb.OpenRecordset("tArchiveTest") Set rs = CurrentDb.OpenRecordset("tFacture") reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub rs.MoveFirst While Not rs.EOF t.AddNew If DatePart("ww", rs!DateFacture, 2) = CInt(reponse) Then ' 2 pour que la semaine débute le lundi et non le dimanche t!NumFacture = rs!NumFacture t!DateFacture = rs!DateFacture t!MontantHT = rs!MontantHT t!NumSemaine = DatePart("ww", rs!DateFacture, 2) t.Update End If rs.MoveNext Wend End Sub
3- Pour retrouver tes comptes, il suffira de créer une requête sur la table tArchive en paramétrant le champ NumSemaine.
Voila A+ Eric
PS1: Tu peux faire ca aussi en sql, un sql remplissant la table et un sql mettant à jour le champ NumSemaine.
Au diable l'avarice, je te la donne aussi :-))
Sub Test504() Dim sql As String, reponse As String reponse = InputBox("Pour quel n° de semaine ?") If Len(reponse) = 0 Then Exit Sub sql = "Insert Into tArchiveTest select DateFacture, NumFacture, MontantHT " sql = sql & "from tFacture where DatePart('ww',DateFacture,2)=" & CInt(reponse) & ";" ' La fonction DatePart te permet de préciser le jour de début de semaine ' Par défaut c'est le dimanche (1), pour nous le Lundi donc , j'ai mis 2 CurrentDb.Execute sql sql = "Update tArchiveTest set NumSemaine=" & CInt(reponse) & " where DatePart('ww',DateFacture,2)=" & CInt(reponse) CurrentDb.Execute sql End Sub
PS2: Tu peux toujours améliorer en vérifiant si la table tArchive existe ou non et en fonction la créer ou ajouter seulement.
"Deliriuma" écrivait news:406e7c6b$0$292$:
Bonjour, Je travaille sur des commandes et je fais mes comptes chaque semaine. Comment puis-je faire pour archiver mes données en ne me servant pas d'une date mais d'un numéro de semaine afin de retrouver facilement mes comptes?