Convertir sql en vba
Résolu
begounou
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
begounou Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
begounou Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Convertir sql en vba
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Convertir kindle en epub - Guide
- Convertir audio en texte word - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, qu'as-tu essayé? que veux-tu obtenir, dans quel contexte?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
peux-tu utiliser les balises de code quand tu postes du code?
peux-tu indiquer à quelle ligne se produit l'erreur?
peux-tu examiner ce que contient la variable sql et la tester comme source d'une requête?
peux-tu indiquer à quelle ligne se produit l'erreur?
peux-tu examiner ce que contient la variable sql et la tester comme source d'une requête?
Private Sub Bn_Calculer_Click()
Dim rstaux As DAO.Recordset, sql As String, rsiuts As Recordset, IUTS As Single
sql = "SELECT Sum([taux]*(IIf( " + CStr(Me.RNI) + " >[fin_tranche],[fin_tranche],[RNI])-[debut_tranche])) AS IUTS " _
+ " FROM taux_impot " _
+ " WHERE (( " + CStr(Me.RNI) + " >=[debut_tranche]))"
Set rstaux = CurrentDb.OpenRecordset(sql)
IUTS = rstaux!IUTS
Set rsiuts = CurrentDb.OpenRecordset("t_Paie", dbOpenDynaset)
rsiuts.AddNew
rsiuts!IUTS = IUTS
rsiuts!RNI = Me.RNI
rsiuts.Update
End Sub
Bonjour yg_be a vrai dire ce que j'ai renoncé à l'idée d'enregistrer IUTS dans ma table paie après avoir compris son inconvenient dans mes recherches sur internet. alors depuis j'ai écarté la table taux_impôt en l'insérant tranche par tranche dans ma table paie exemple:
debut_tranche1, fin_tranche1, taux_tranche1
ainsi de suite jusqu'au tranche8 qui est la fin des tranches.
dans ma requête qui sert d'historique, je calcul l'iuts de chaque tranche comme cela : ([taux_tranche1]*(vrai/faux([rni]>[fin_tranche1],[fin_tranche1],[rni])-[debut_tranche1])) bien sûr en condition que [rni] soit >= à [début_tranche1] tout marche, jusqu'à ce que je constate qu'au niveau des tranche supérieures à [RNI] les champs calculs m'affiche des chiffres negatifs. ma question est il possible de faire la somme des IUTS uniquement pour la tranche concernée ?
debut_tranche1, fin_tranche1, taux_tranche1
ainsi de suite jusqu'au tranche8 qui est la fin des tranches.
dans ma requête qui sert d'historique, je calcul l'iuts de chaque tranche comme cela : ([taux_tranche1]*(vrai/faux([rni]>[fin_tranche1],[fin_tranche1],[rni])-[debut_tranche1])) bien sûr en condition que [rni] soit >= à [début_tranche1] tout marche, jusqu'à ce que je constate qu'au niveau des tranche supérieures à [RNI] les champs calculs m'affiche des chiffres negatifs. ma question est il possible de faire la somme des IUTS uniquement pour la tranche concernée ?
quand le code VBA sera-t'il exécuté? via un bouton? automatiquement?
exemple de code: