déjà à pourquoi Status Like?
Version imprimable
déjà à pourquoi Status Like?
Car j'ai des transaction failed ou wait que je ne veux pas prendre en compte.
Je devrais remplacer like par = ?
vue que Joe et peut-être d'autre suivent cette conversation je préfère en dire plus que moins!
en Vba like valeur like "*toto*" en Sql valeur Like "%toto%" soit tu fais Like 'Transaction%' soit tu fais valeur in('toto','titi') pour tous les status!
car si tu ne récupère pas tous les status que tu à besoins, le valeur à 0 ou null ne sont pas retourné!
quand tu travail sous Access tu peux utiliser une requête comme un table?Code:select [Client] ,MyDate,sum(MyValeur) from (select [Client],Format([Inscription_Date],'yyyy-mm-dd') As MyDate,iif([TransactionAmount] is null,0,[TransactionAmount]) as MyValeur From [table] WHERE Status in ('Transaction Success' ,'Transaction Ko') AND Payer IN ('80194354','91569785','80522050','80672633','90493203','90316048','80107441','80671133','80642995','92965155','90818648') ) group by [Client] ,MyDate
il est plossible de faire la même chose en utilisant uniquement Sql là on défini la sous requête puis la requête?Code:
1
2 select * from [Table] Select * from [Requête]
select * from (select * from (select * from [Table]) as [SousRequête1]) as [SousRequête2]
Ok, merci, c'est plus clair.
J'ai une question annexe concernant le fichier "MAJ Recordset" de la page précédente.
Lors de l'actualisation les résultats sont en texte et non en nombre, sais-tu comment corriger le problème.
AU regard de ta réponse, je comprends que je ne peux pas avoir le résultat souhaité car certains clients ne sont pas dans la table, il est donc impossible d'ajouter une ligne avec l'ID client et le montant de transaction à 0 pour ceux-là ?!
la le problème, c'est que les champ Excel ne sont pas typés! et quand on travail avec Excel c'est lui qui implicitement analyse le contenue des cellules et convertie dans le bon type!
ado considère le 8 premiers enregistrements (en théorie mais en pratique c'est 3) pour identifier le type de valeur! c'est pauvre!
là on s'en remet à excel!
Code:
1
2
3
4 with sheets(1).usedrange .numberformat="General" .value=.value end with
et oui une belle fille ne peut donner que ce qu'elle a!Citation:
AU regard de ta réponse, je comprends que je ne peux pas avoir le résultat souhaité car certains clients ne sont pas dans la table, il est donc impossible d'ajouter une ligne avec l'ID client et le montant de transaction à 0 pour ceux-là ?!
Merci pour ton aide et ta patience, j'ai fait un bond de géant.
A ton service.
Une question sur la requête
Dans le codeSI je vex tester nom pas une équivalence entre 2 tables pour envoyer la valeurCode:.Execute ("Update [Feuil1$] as cible inner join (SELECT * FROM [Feuil2$] IN '" & ThisWorkbook.FullName & "'[Excel 12.0;HDR=YES;]) as frm on frm.[Pdv]= [cible].[Pdv] AND frm.[Type]= [cible].[Type] set [cible].[TransactionAmount]=[frm].[TransactionAmount]")
Mais tester un type de contenu, que dois-je écrire.Code:frm.[Type]= [cible].[Type]
J'ai testé avec le code suivant mais cela ne fonctionne pas.
Code:frm.[Type]= "Cash in"
Tu as bien compris que tous dépendait de interprétation qu'ado faisait sur le contenu de la source et de la cible!
Mais nous pouvons tenter de l'aider un en formatant le cellule des deux classeur aux bon format.
Deux de caster les valeurs dans SQL! select Clng(12),cdate('2017-02_17')
Je me suis mal exprimé.
Ce n'est pas pour une requête sur la date, c'est pour une requête sur le contenu d'un champ (type en l'occurence).
Voici le problème :
Pièce jointe 249376