morbak01
Messages postés25Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention23 mars 2012
-
7 déc. 2010 à 16:00
cs_subaqua
Messages postés69Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention20 juin 2011
-
14 déc. 2010 à 11:26
Bonjour,
J'ai une base de données MDB.
Elle n'est pas triée par ordre alphabetique.
Il faut que je fasse une requete du style : SELECT * FROM SheetPlan WHERE Num = '" & var_num & "'.
Mais avant je doit impérativement trier la base avec :
SELECT * FROM SheetPlan ORDER BY num ASC, verp DESC
Le pb c'est quand je fait ma requete avec le WHERE, je n'arrive pas à la faire en se basant sur ma base tirée (par la requete avec le ORDER BY)
voilà comme je fait:
mstrSQL="SELECT * FROM SheetPlan ORDER BY num ASC, verp DESC"
Set mobjADORst = New ADODB.Recordset
mobjADORst.CursorLocation = adUseClient
mobjADORst.Open mstrSQL, CNX, adOpenStatic, , adCmdText
mstrSQL="SELECT * FROM SheetPlan WHERE Num = '" & var_num & "'"
Set mobjADORst = New ADODB.Recordset
mobjADORst.CursorLocation = adUseClient
mobjADORst.Open mstrSQL, CNX, adOpenStatic, , adCmdText
Je suis new là dedans et ne j'ai pas tout compris aux recordset. Est-ce que qq1 peux me montrer un bel exemple svp?
mjidonhym
Messages postés5Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention13 décembre 2010 7 déc. 2010 à 18:06
bonjour
je souhaite écrire le code permettant de calculer des frais de déplacement à partir de ma base de donnée access. J'ai un nbre jours deux taux (T1 etT2)si la personne en déplacement dépasse les 15 jours elle payé avec T2 le taux reduit
cs_subaqua
Messages postés69Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention20 juin 2011 7 déc. 2010 à 19:24
On peut aussi écrire les 2 requêtes SQL en une seule "SELECT ... FROM ... WHERE ... ORDER by ..."
Concernant la dernière question de mjdonhym, ci-dessous un code pour appeler la base access, ouvrir la bonne table et faire les calculs (n'ayant pas d'éléments sur les champs de la table, je les invente) :
Public bdd As Database
Public tab_frais As Recordset
function calcul(pers as integer)
dim T1,T2 as single
Set bdd = OpenDatabase("c:\mon_repertoire\ma_base.mdb")
Set tab_frais = bdd.OpenRecordset("SELECT * FROM table_frais")
T1=... 'mettre la bonne valeur
T2=...
'on imagine une table "table_frais" contenant les champs code_personne(numérique) et nb_jours(numérique)
morbak01
Messages postés25Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention23 mars 2012 8 déc. 2010 à 08:15
Hello,
J'ai concaténé les requetes ça a l'aire de marcher, mais j'avias peur car en fait ce n'était pas le résultat que je voulais trier, mais la base elle meme, puis ensuite faire une requete sur la base triée.
A chaque nvelle requete je faisais un nouveau recordset, est ce grave qu'il n'y a à aucun moment un close qq part?
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
mjidonhym
Messages postés5Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention13 décembre 2010 12 déc. 2010 à 11:01
bonjour
merci pour la réponse
la suite du problème
sur la même base de données de frais de déplacement voici le problème que j’ai :
Dans la journée on nous paye 1/3 du taux de frais de déplacement entre 0H et 5h
1/3 du taux de frais de déplacement entre entre 11H et 14 H et
1/3 du taux de frais de déplacement entre entre 18 H et 21 H
sachant qu’entre 5 H et 11 H ,14 H et 18H 21 et 24H on ne paye rien 0
par exemple si je par en déplacement le 14/12/2010 à 4 H 30min et je rentre le 17/12/2010 à 10H j’aurai un nombre
de jours payé = 3 jour 1/3
autre exemple si je par en déplacement 14/12/2010 à 8H et je retourne 17/12/2010 =16 H 45 j’aurai un nombre de jours payé =3 jours 1/3
mjidonhym
Messages postés5Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention13 décembre 2010 13 déc. 2010 à 14:01
bonjour
merci pour la réponse
la suite du problème
sur la même base de données de frais de déplacement voici le problème que j'ai :
Dans la journée on nous paye 1/3 du taux de frais de déplacement entre 0H et 5h
1/3 du taux de frais de déplacement entre entre 11H et 14 H et
1/3 du taux de frais de déplacement entre entre 18 H et 21 H
sachant qu'entre 5 H et 11 H ,14 H et 18H 21 et 24H on ne paye rien 0
par exemple si je par en déplacement le 14/12/2010 à 4 H 30min et je rentre le 17/12/2010 à 10H j'aurai un nombre
de jours payé = 3 jour 1/3
autre exemple si je par en déplacement 14/12/2010 à 8H et je retourne 17/12/2010 =16 H 45 j'aurai un nombre de jours payé =3 jours 1/3
cs_subaqua
Messages postés69Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention20 juin 2011 14 déc. 2010 à 11:26
Bonjour,
Quel est le pb en fait ? OK, il faut écrire un peu de code pour gérer ces différents cas mais rien d'extraordinaire.
Il faut mettre une variable pour la date de départ, une pour l'heure de départ, une autre pour la date d'arrivée et une dernière pour l'heure d'arrivée.
Ensuite on compare ces variables aux tranches horaires définies avec des "IF then".
Cette dernière s'utilise comme suit :
heure_départ=inputbox("Entrez votre heure de départ (xxHxx): ")
H=val(left(heure_départ,2)) 'heures
M=val(right(heure_départ,2)) 'minutes
heure=H*60+M 'heure de départ transcrite en minutes
If heure>0 and heure<300 then 'Tranche entre 0h et 5h
.......
endif