[Query et vba] comment prévoir à l'avance des données d'une bdd
11 réponses
aravis
bonjour, c'est encore. Je ne vous embéterai plus pour longtemps.
J'ai des tables d'une base de données, avec date,defaut,durée,heure,nombre.
Dans query a chaque fois je fait un filtre pour mettre la date du jour , et
je n'affiche que l'ensemble des nombres de tels défaut dans tel colonnes (
j'aditionne les défaut à l'état 1 en fait).
Peut t'on directement prévoir cela sur vba ?
Vu que dans mon filtre, c'est la date qui change à chaques fois.
voici un exemple de tableau de ma bdd : http://cjoint.com/?fdjh3sSIIe
"WHERE (TE_PROCE.DATE={d '2006-05-02'}) AND (TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _ , "0)")
comme ca,
VarDate = 2006-05-02 ... "WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND (TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _ , "0)")
isabelle
bonjour, c'est encore. Je ne vous embéterai plus pour longtemps.
J'ai des tables d'une base de données, avec date,defaut,durée,heure,nombre. Dans query a chaque fois je fait un filtre pour mettre la date du jour , et je n'affiche que l'ensemble des nombres de tels défaut dans tel colonnes ( j'aditionne les défaut à l'état 1 en fait). Peut t'on directement prévoir cela sur vba ? Vu que dans mon filtre, c'est la date qui change à chaques fois.
voici un exemple de tableau de ma bdd : http://cjoint.com/?fdjh3sSIIe
merci d'avance
bonjour aravis,
essaie en modifiant cette parti :
"WHERE (TE_PROCE.DATE={d '2006-05-02'}) AND (TE_PROCE.DEFAUT5) AND
(TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _
, "0)")
comme ca,
VarDate = 2006-05-02
...
"WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND (TE_PROCE.DEFAUT5) AND
(TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _
, "0)")
isabelle
bonjour, c'est encore. Je ne vous embéterai plus pour longtemps.
J'ai des tables d'une base de données, avec date,defaut,durée,heure,nombre.
Dans query a chaque fois je fait un filtre pour mettre la date du jour , et
je n'affiche que l'ensemble des nombres de tels défaut dans tel colonnes (
j'aditionne les défaut à l'état 1 en fait).
Peut t'on directement prévoir cela sur vba ?
Vu que dans mon filtre, c'est la date qui change à chaques fois.
voici un exemple de tableau de ma bdd : http://cjoint.com/?fdjh3sSIIe
"WHERE (TE_PROCE.DATE={d '2006-05-02'}) AND (TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _ , "0)")
comme ca,
VarDate = 2006-05-02 ... "WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND (TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _ , "0)")
isabelle
bonjour, c'est encore. Je ne vous embéterai plus pour longtemps.
J'ai des tables d'une base de données, avec date,defaut,durée,heure,nombre. Dans query a chaque fois je fait un filtre pour mettre la date du jour , et je n'affiche que l'ensemble des nombres de tels défaut dans tel colonnes ( j'aditionne les défaut à l'état 1 en fait). Peut t'on directement prévoir cela sur vba ? Vu que dans mon filtre, c'est la date qui change à chaques fois.
voici un exemple de tableau de ma bdd : http://cjoint.com/?fdjh3sSIIe
merci d'avance
aravis
en fait j'aimerai ne pas retapé la date a chaque fois.
Dans l'exemple que tu m'as donnée, ca revien au meme que ma macro, en fait j'aimerai avoir la fonction pour mettre la date automatiquement dans ce format là (la date de windows)
merci d'avance
en fait j'aimerai ne pas retapé la date a chaque fois.
Dans l'exemple que tu m'as donnée, ca revien au meme que ma macro, en fait
j'aimerai avoir la fonction pour mettre la date automatiquement dans ce
format là (la date de windows)
en fait j'aimerai ne pas retapé la date a chaque fois.
Dans l'exemple que tu m'as donnée, ca revien au meme que ma macro, en fait j'aimerai avoir la fonction pour mettre la date automatiquement dans ce format là (la date de windows)
merci d'avance
isabelle
tout dépend de ton système (panneau de configuration) sur mon poste, si j'exécute cette ligne : VarDate = Date VarDate est égal à 2006-05-03 (écrit exactement comme ce format).
isabelle
en fait j'aimerai ne pas retapé la date a chaque fois.
Dans l'exemple que tu m'as donnée, ca revien au meme que ma macro, en fait j'aimerai avoir la fonction pour mettre la date automatiquement dans ce format là (la date de windows)
merci d'avance
tout dépend de ton système (panneau de configuration)
sur mon poste, si j'exécute cette ligne :
VarDate = Date
VarDate est égal à 2006-05-03 (écrit exactement comme ce format).
isabelle
en fait j'aimerai ne pas retapé la date a chaque fois.
Dans l'exemple que tu m'as donnée, ca revien au meme que ma macro, en fait
j'aimerai avoir la fonction pour mettre la date automatiquement dans ce
format là (la date de windows)
tout dépend de ton système (panneau de configuration) sur mon poste, si j'exécute cette ligne : VarDate = Date VarDate est égal à 2006-05-03 (écrit exactement comme ce format).
isabelle
en fait j'aimerai ne pas retapé la date a chaque fois.
Dans l'exemple que tu m'as donnée, ca revien au meme que ma macro, en fait j'aimerai avoir la fonction pour mettre la date automatiquement dans ce format là (la date de windows)
merci d'avance
aravis
voici mon code, peut etre qu'il est mal structure :
Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 03/05/2006 par artoisa '
vardata = Date With ActiveSheet.QueryTables.Add(Connection:= _ "ODBC;DSNÛASE Files;DefaultDir=C:Documents and SettingsartoisaMy Documents;DriverIdS3;MaxBufferSize 48;PageTimeout=5;" _ , Destination:=Range("D12")) .CommandText = Array( _ "SELECT Sum(TE_PROCE.NOMBRE) AS 'Somme sur NOMBRE'" & Chr(13) & "" & Chr(10) & "FROM `C:Mélodie`TE_PROCE.DBF TE_PROCE" & Chr(13) & "" & Chr(10) & "WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND (TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _ , "0)") .Name = "Lancer la requête à partir de dBASE Files" .FieldNames = False .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:úlse End With End Sub
cordialement
voici mon code, peut etre qu'il est mal structure :
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 03/05/2006 par artoisa
'
vardata = Date
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSNÛASE Files;DefaultDir=C:Documents and
SettingsartoisaMy Documents;DriverIdS3;MaxBufferSize 48;PageTimeout=5;"
_
, Destination:=Range("D12"))
.CommandText = Array( _
"SELECT Sum(TE_PROCE.NOMBRE) AS 'Somme sur NOMBRE'" & Chr(13) & "" &
Chr(10) & "FROM `C:Mélodie`TE_PROCE.DBF TE_PROCE" & Chr(13) & "" & Chr(10)
& "WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND (TE_PROCE.DEFAUT5) AND
(TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _
, "0)")
.Name = "Lancer la requête à partir de dBASE Files"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With
End Sub
voici mon code, peut etre qu'il est mal structure :
Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 03/05/2006 par artoisa '
vardata = Date With ActiveSheet.QueryTables.Add(Connection:= _ "ODBC;DSNÛASE Files;DefaultDir=C:Documents and SettingsartoisaMy Documents;DriverIdS3;MaxBufferSize 48;PageTimeout=5;" _ , Destination:=Range("D12")) .CommandText = Array( _ "SELECT Sum(TE_PROCE.NOMBRE) AS 'Somme sur NOMBRE'" & Chr(13) & "" & Chr(10) & "FROM `C:Mélodie`TE_PROCE.DBF TE_PROCE" & Chr(13) & "" & Chr(10) & "WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND (TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE" _ , "0)") .Name = "Lancer la requête à partir de dBASE Files" .FieldNames = False .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:úlse End With End Sub
cordialement
isabelle
voici mon code, peut etre qu'il est mal structure :
je ne pense pas, j'ai seulement refait les retours à la ligne, mais je crois qu'il vaut mieux vérifier le format de date directement dans la base de données. la variable doit être mit à ce format.
Sub Macro2() ' Macro enregistrée le 03/05/2006 par artoisa
Mondir = "C:Documents and SettingsartoisaMy Documents" vardata = Date With ActiveSheet.QueryTables.Add(Connection:= _ "ODBC;DSNÛASE Files;DefaultDir=" & Mondir & _ ";DriverIdS3;MaxBufferSize 48;PageTimeout=5;", Destination:=Range("D12")) .CommandText = Array( _ "SELECT Sum(TE_PROCE.NOMBRE) AS 'Somme sur NOMBRE'" & _ Chr(13) & "" & Chr(10) & _ "FROM `C:Mélodie`TE_PROCE.DBF TE_PROCE" & _ Chr(13) & "" & Chr(10) & _ "WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND" & _ "(TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE0)")
.Name = "Lancer la requête à partir de dBASE Files" .FieldNames = False .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:úlse End With End Sub
isabelle
voici mon code, peut etre qu'il est mal structure :
je ne pense pas, j'ai seulement refait les retours à la ligne,
mais je crois qu'il vaut mieux vérifier le format de date directement dans la base de données.
la variable doit être mit à ce format.
Sub Macro2()
' Macro enregistrée le 03/05/2006 par artoisa
Mondir = "C:Documents and SettingsartoisaMy Documents"
vardata = Date
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSNÛASE Files;DefaultDir=" & Mondir & _
";DriverIdS3;MaxBufferSize 48;PageTimeout=5;", Destination:=Range("D12"))
.CommandText = Array( _
"SELECT Sum(TE_PROCE.NOMBRE) AS 'Somme sur NOMBRE'" & _
Chr(13) & "" & Chr(10) & _
"FROM `C:Mélodie`TE_PROCE.DBF TE_PROCE" & _
Chr(13) & "" & Chr(10) & _
"WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND" & _
"(TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE0)")
.Name = "Lancer la requête à partir de dBASE Files"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With
End Sub
voici mon code, peut etre qu'il est mal structure :
je ne pense pas, j'ai seulement refait les retours à la ligne, mais je crois qu'il vaut mieux vérifier le format de date directement dans la base de données. la variable doit être mit à ce format.
Sub Macro2() ' Macro enregistrée le 03/05/2006 par artoisa
Mondir = "C:Documents and SettingsartoisaMy Documents" vardata = Date With ActiveSheet.QueryTables.Add(Connection:= _ "ODBC;DSNÛASE Files;DefaultDir=" & Mondir & _ ";DriverIdS3;MaxBufferSize 48;PageTimeout=5;", Destination:=Range("D12")) .CommandText = Array( _ "SELECT Sum(TE_PROCE.NOMBRE) AS 'Somme sur NOMBRE'" & _ Chr(13) & "" & Chr(10) & _ "FROM `C:Mélodie`TE_PROCE.DBF TE_PROCE" & _ Chr(13) & "" & Chr(10) & _ "WHERE (TE_PROCE.DATE={d '" & VarDate & "'}) AND" & _ "(TE_PROCE.DEFAUT5) AND (TE_PROCE.NOMBRE=1) AND (TE_PROCE.POSTE0)")
.Name = "Lancer la requête à partir de dBASE Files" .FieldNames = False .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:úlse End With End Sub
isabelle
aravis
quand j'écrit ton code ça me mets erreur de synthaxe sql, et lorsque je clique sur débloger ca me redirige à la ligne .
.Refresh BackgroundQuery:úlse
aurais-tu une solution ?
quand j'écrit ton code ça me mets erreur de synthaxe sql, et lorsque je
clique sur débloger ca me redirige à la ligne .
quand j'écrit ton code ça me mets erreur de synthaxe sql, et lorsque je clique sur débloger ca me redirige à la ligne .
.Refresh BackgroundQuery:úlse
aurais-tu une solution ?
isabelle
bonjour aravis,
voici un extrait de l'aide :
Lors de l'enregistrement d'une macro comprenant une requête, Excel ne peut pas exécuter la requête en arrière-plan, même si vous avez sélectionné cette option. Pour modifier la macro enregistrée de manière à ce qu'elle s'exécute en arrière-plan, remplacez la méthode d'actualisation de l'objet « BackgroundQuery := False » par « BackgroundQuery := True ».
isabelle
quand j'écrit ton code ça me mets erreur de synthaxe sql, et lorsque je clique sur débloger ca me redirige à la ligne .
.Refresh BackgroundQuery:úlse
aurais-tu une solution ?
bonjour aravis,
voici un extrait de l'aide :
Lors de l'enregistrement d'une macro comprenant une requête, Excel ne
peut pas exécuter la requête en arrière-plan, même si vous avez
sélectionné cette option. Pour modifier la macro enregistrée de manière
à ce qu'elle s'exécute en arrière-plan, remplacez la méthode
d'actualisation de l'objet « BackgroundQuery := False » par «
BackgroundQuery := True ».
isabelle
quand j'écrit ton code ça me mets erreur de synthaxe sql, et lorsque je
clique sur débloger ca me redirige à la ligne .
Lors de l'enregistrement d'une macro comprenant une requête, Excel ne peut pas exécuter la requête en arrière-plan, même si vous avez sélectionné cette option. Pour modifier la macro enregistrée de manière à ce qu'elle s'exécute en arrière-plan, remplacez la méthode d'actualisation de l'objet « BackgroundQuery := False » par « BackgroundQuery := True ».
isabelle
quand j'écrit ton code ça me mets erreur de synthaxe sql, et lorsque je clique sur débloger ca me redirige à la ligne .