s'il vous plait je veux la traduction de cette requet en VB
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select last dure-dep , Njr_sans_prise ..... from delacement
et merci
s'il vous plait je veux la traduction de cette requet en VB
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select last dure-dep , Njr_sans_prise ..... from delacement
et merci
bonjour,
il me semble que ce que tu cherches se trouve dans la http://access.developpez.com/faq/?pa...s#UtilReqExist
merci
mais j'ai rien trouve !!
Salut,
En VB, tu peux faire comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim sql As String Dim rs As RecordSet sql = "SELECT LAST dure-dep, Nrj_sans_prise FROM delacement;" Set rs = CurrentDb.OpenRecordSet (sql)
Ainsi, tu ouvres l'ensemble de tes enregistrements.
Tu peux ensuite les utiliser, par exemple en utilisant ceci :
Ainsi, tu parcours chaque enregistrement, et tu effectues les opérations que tu désires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 While rs.EOF <> True -- -- suite d'instructions -- -- rs.MoveNext End While
@+
qu'est ce que ca veut dire
et ou est la faute ici ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 While rs.EOF <> True rs.MoveNext End While ?
et merci !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 sql = "SELECT LAST nomage , dure_dep , Nbj_sans_prise, inden_j_nom , Nbj_avec_prise ,inden_j_nom FROM delacement;" Set rs = CurrentDb.OpenRecordset(sql) While rs.EOF <> True fonction frais ( dure_dep As Integer, Nbj_sans_prise As Integer , inden_j_nom As Integer , Nbj_avec_prise As Integer ,inden_j_nom AS Integer , frais As Integer ,classe As String , nomage As String ) iif namage = "*" then frais <- ((dure_dep - Nbj_sans_prise ..... end iif rs.MoveNext End While End Sub
bonjour,
La traduction de
rs.EOF (End Of File) => détecte la fin d'un recordset
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 While rs.EOF <> True rs.MoveNext End While
Tant que rs.EOF est différent de vrai
Passer à l'enregistrement suivant
Fin tant que.
Une autre manière beaucoup plus rapide et efficace pour atteindre le même but :
Ce bout de code te place directement au dernier enregistrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part rs.Movelast
Ou là là tu mélange tout :
Il faut savoir ce que tu veux faire parceque cette partie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 sql = "SELECT LAST nomage , dure_dep , Nbj_sans_prise, inden_j_nom , Nbj_avec_prise ,inden_j_nom FROM delacement;" Set rs = CurrentDb.OpenRecordset(sql) While rs.EOF <> True fonction frais ( dure_dep As Integer, Nbj_sans_prise As Integer , inden_j_nom As Integer , Nbj_avec_prise As Integer ,inden_j_nom AS Integer , frais As Integer ,classe As String , nomage As String ) iif namage = "*" then frais <- ((dure_dep - Nbj_sans_prise ..... end iif rs.MoveNext End While End Sub
Ressemble énormément à une déclaration de fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 fonction frais ( dure_dep As Integer, Nbj_sans_prise As Integer , inden_j_nom As Integer , Nbj_avec_prise As Integer ,inden_j_nom AS Integer , frais As Integer ,classe As String , nomage As String )
En fait il faudrait faire plutot ceci :
A mon avis il vaudrait mieux que tu nous dises ce que tu veux faire et si tu ne t'ai pas posé la question avant c'est assez dangereux en terme de bugs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function frais ( dure_dep As Integer, Nbj_sans_prise As Integer , inden_j_nom As Integer , Nbj_avec_prise As Integer ,inden_j_nom AS Integer , frais As Integer ,classe As String , nomage As String ) ... MON CODE DE MA FONCTION ... End function 'Dans une autre partie du code sql = "SELECT LAST nomage , dure_dep , Nbj_sans_prise, inden_j_nom , Nbj_avec_prise ,inden_j_nom FROM delacement;" Set rs = CurrentDb.OpenRecordset(sql) While rs.EOF <> True Frais( dure_dep, Nbj_sans_prise, inden_j_nom, Nbj_avec_prise, inden_j_nom, frais, classe, nomage)'Avec ici tout les paramètres qui vont bien iif namage = "*" then frais <- ((dure_dep - Nbj_sans_prise ..... end if rs.MoveNext End While End Sub
merciiiiiiii
j'ai une erreur au niveau de then c quoi l'erreur exactement
excusez moi je suis nulle en VB c la premier fois que je l'utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub Commande12_Click() Dim sql As String Dim rs As Recordset sql = "SELECT LAST nomage , dure_dep , Nbj_sans_prise, inden_j_nom , Nbj_avec_prise ,inden_j_nom FROM delacement;" Set rs = CurrentDb.OpenRecordset(sql) While rs.EOF <> True fonction frais dure_dep As Integer, Nbj_sans_prise As Integer, inden_j_nom As Integer, Nbj_avec_prise As Integer, inden_j_nom As Integer, frais As Integer, classe As String, nomage As String IIf namage = "*" Then return frais = ((dure_dep - Nbj_sans_prise )*inden_j_nom ) + (((dure_dep - Nbj_avec_prise)* inden_j_nom)/2) End If rs.MoveLast End While End Sub
merci pour votre aide !!!
je faire un bouton qui fais le calcule des frais de deplassement
ce dernier recupere les derniers enregistrements de la table deplacement (nomage , dure_dep , Nbj_sans_prise, inden_j_nom , Nbj_avec_prise ,inden_j_nom FROM delacement )
et fai le calcule suivant
puis il enregistre les resulta dans le chanp frais de la meme table et dernier enregistrement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ( IIf namage = "*" Then return frais = ((dure_dep - Nbj_sans_prise )*inden_j_nom ) + (((dure_dep - Nbj_avec_prise)* inden_j_nom)/2) else return frais = ((dure_dep - Nbj_sans_prise )*inden_j_classe ) + (((dure_dep - Nbj_avec_prise)* inden_j_classe)/2)
et merci
Fait un retour chariot après le then et le else ca serra plus claire pour toi et les autres. C'est de la forme
Au passage l'erreur doit venir du return. C'est bien ce que je pensais au départ tu as fait beaucoup de C/C++ avant de venir sur du VB/VBA je me trompe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If Condition Then ... 'Code lorsque la condition est vrai Else ... 'Code lorsque la condition est fausse End if
Il n'y a pas de return en VB.
ca ne marche toujours pas !!!
Il y a un point que je n'ai pas bien compris.
Comment fait-tu ton calcul pour tes frais de déplacements.
Tu regarde le dernier enregistrement et tu fait ton calcul ou bien
Tu parcours tous les enregistrements de la table et tu fait ton calcul ?
Autre chose as-tu pensée à mettre les variables que tu utilise en globale comme le 'namage' (c'est l'histoire de la visibilité). Si elles sont déclarée dans une fonction elles ne sont visible (et donc utilisable) qu'à l'interieur de celle-ci. Mais à mon avis il serait peut-être plus judicieux de faire le calcul dans la fonction et de renvoyer la valeur calculée.
Pour une fonction ca se programme comme ca :
Ensuite pour l'utiliser ca se passe dans ce genre là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Function MaFonction (monParam1 AS MonType1, monParam2 AS MonType2, etc ...) ... 'Code de ma fonction MaFonction = MaValeurARetourner 'Quand on a une valeur a retourner. End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim maVariable maVariable = MaFonction(Param1, Param2, etc...)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager