Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/04/2011, 04h40   #1
Candidat au titre de Membre du Club
 
Inscription : août 2004
Messages : 80
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 80
Points : 14
Points : 14
Par défaut Problème de compréhension

Salut les dev!!

J'ai un problème dans ma requete j'aimerai prendre la clef primaire d'une table et mettre des valeurs en fixe pour les autres valeurs. Voyez plutot :

Code :
1
2
3
4
INSERT INTO seeb_factures_details ( id_facture, nom_ref_consommation, designation_ref_consommation, prix_unitaire_ref_consommation, conso_facture_detail, taxe_facture_detail, beneficiaire_ref_consommation )
SELECT FacturesEtDetail.id_facture, 
FROM (FacturesEtDetail INNER JOIN Encaissements ON FacturesEtDetail.id_facture = Encaissements.id_facture) INNER JOIN seeb_factures_details ON FacturesEtDetail.id_facture = seeb_factures_details.id_facture
WHERE ((([MontantFacture]-IIf(IsNull([SommeDemontant]),0,[SommeDemontant]))>0)), "Frais de poursuite", "Frais de poursuite", 1000, 1, 0, "SEEB";
-"Frais de poursuite", "Frais de poursuite", 1000, 1, 0, "SEEB" étant les champs de valeur fixe

-
Code :
1
2
3
SELECT FacturesEtDetail.id_facture, 
FROM (FacturesEtDetail INNER JOIN Encaissements ON FacturesEtDetail.id_facture = Encaissements.id_facture) INNER JOIN seeb_factures_details ON FacturesEtDetail.id_facture = seeb_factures_details.id_facture
WHERE ((([MontantFacture]-IIf(IsNull([SommeDemontant]) étant le champ tiré de la table FacturesEtDetail
Merci de votre aide les gens!
akaii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 11h48   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
bonjour,

les valeurs fixes, je dirais qu'il faut les mettre dans le SELECT.

Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
INSERT INTO seeb_factures_details ( 
id_facture,
 nom_ref_consommation,
 designation_ref_consommation,
 prix_unitaire_ref_consommation,
 conso_facture_detail,
 taxe_facture_detail,
 beneficiaire_ref_consommation )
SELECT 
FacturesEtDetail.id_facture, 
"Frais de poursuite", 
"Frais de poursuite", 
1000, 
1, 
0, 
"SEEB"
FROM (FacturesEtDetail INNER JOIN Encaissements ON FacturesEtDetail.id_facture = Encaissements.id_facture) INNER JOIN seeb_factures_details ON FacturesEtDetail.id_facture = seeb_factures_details.id_facture
WHERE ((([MontantFacture]-IIf(IsNull([SommeDemontant]),0,[SommeDemontant]))>0));
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 00h45   #3
Candidat au titre de Membre du Club
 
Inscription : août 2004
Messages : 80
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 80
Points : 14
Points : 14
Merci pour les valeurs fixe ça fonctionne mais je n'arrive pas à mettre le id_facture de la table BalanceFactures dans la nouvelle ligne insérée.
Voici la nouvelle requête :
Code :
1
2
3
4
INSERT INTO seeb_factures_details ( [seeb_factures_details]![id_facture], nom_ref_consommation, designation_ref_consommation, prix_unitaire_ref_consommation, beneficiaire_ref_consommation, conso_facture_detail, taxe_facture_detail, montant_hors_taxe_facture_detail )
SELECT [BalanceFactures]![id_facture] AS id_facture, "Frais de poursuite" AS ref, "Frais de poursuite" AS des, 1000 AS prix, "SEEB" AS beneficiaire, 1 AS conso, 0 AS taxe, 1000 AS montant
FROM BalanceFactures LEFT JOIN seeb_factures_details ON BalanceFactures.id_facture = seeb_factures_details.id_facture
WHERE ((([MontantFacture]-IIf(IsNull([SommeDemontant]),0,[SommeDemontant]))>0));
Où la requête BalanceFactures contient toutes les factures dont le montant total - les encaissements donnent un résultat supérieur à 0.

Merci de votre aide
akaii est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h55.


 
 
 
 
Partenaires

Hébergement Web