Microsoft Query Villkor
Microsoft Query Villkor
Jag använder Microsoft Query för att plocka info från en databas till Excel 2010.
I en tabell så har jag en kolumn som heter DATUM.
Denna kolumn innehåller en textsträng med siffror som är formatterad "ÅÅMMDD".
Jag vill, genom en vilkorssats, plocka ut bara dagens och gårdagens datum. Jag vill inte "hårdkoda" datumet utan varje gång jag kör frågan så vill jag att det skall bli just posterna skapade det datumet jag kör frågan och datumet dagen innan.
Jag har googlat en massa och testat lite olika grejer, men får inte någon syntax som funkar. bl.a
CURDATE()
SysTime()
TODAY()
NOW()
Finns det någon som är haj på Microsoft Query?
I en tabell så har jag en kolumn som heter DATUM.
Denna kolumn innehåller en textsträng med siffror som är formatterad "ÅÅMMDD".
Jag vill, genom en vilkorssats, plocka ut bara dagens och gårdagens datum. Jag vill inte "hårdkoda" datumet utan varje gång jag kör frågan så vill jag att det skall bli just posterna skapade det datumet jag kör frågan och datumet dagen innan.
Jag har googlat en massa och testat lite olika grejer, men får inte någon syntax som funkar. bl.a
CURDATE()
SysTime()
TODAY()
NOW()
Finns det någon som är haj på Microsoft Query?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Microsoft Query Villkor
Fungerar CONVERT(date,GETDATE())?
Edit: du ville gårdagen också, jag hade provat något sånt här:
DATEDIFF(day, datum , GETDATE())<=1
Edit igen textsträng ja då hade jag (helt oprövat) provat detta:
DATEDIFF(day, CONVERT(datetime,datum) , GETDATE())<=1
Edit: du ville gårdagen också, jag hade provat något sånt här:
DATEDIFF(day, datum , GETDATE())<=1
Edit igen textsträng ja då hade jag (helt oprövat) provat detta:
DATEDIFF(day, CONVERT(datetime,datum) , GETDATE())<=1
Re: Microsoft Query Villkor
Kanske nåt liknande:
(med MSSQL server syntax):
/johan
(med MSSQL server syntax):
Kod: Markera allt
select * from TID_D where datum in ( convert(char(6), dateadd(dd, -1, getdate()), 12), convert(char(6), dateadd(dd, -2, getdate()), 12) )
Re: Microsoft Query Villkor
min sql-fråga ser nu ut som följande:
Men det bilr syntaxfel.
Testat lite smått med de övriga förslagen också, men fortfarande problem.
Helst så skulle jag vilja ha en lösning med ett villkor i vilkorslistan
Kod: Markera allt
SELECT TID_D.DATUM, TID_D.ANST_NR, TID_D.ANL_NR, TID_D.SKIFTTEXT_1, TID_D.SKIFTTEXT_2, TID_D.SKIFTTEXT_3, TID_D.SKIFTTEXT_4, TID_D.SKIFTTEXT_5, TID_D.SKIFTTEXT_6, TID_D.AO_NR, TID_D.AO_NR, TID_D.AVDELNING, TID_D.UAV, TID_D.SKIFT, TID_D.BEHANDLAD, TID_D.PERIOD, TID_D.DIM_FTG_1, TID_D.DIM_0_1, TID_D.DIM_1_1, TID_D.DIM_FTG_2, TID_D.DIM_0_2, TID_D.DIM_1_2
FROM MeritSCV.dbo.TID_D TID_D
WHERE TID_D.DATUM in ( convert(char(6), dateadd(dd, -1, getdate()), 12), convert(char(6), dateadd(dd, -2, getdate()), 12) )
Testat lite smått med de övriga förslagen också, men fortfarande problem.
Helst så skulle jag vilja ha en lösning med ett villkor i vilkorslistan
Re: Microsoft Query Villkor
Det jag vet om databasen är att det är en "ODBC". Om det betyer att det är access vet jag ej.
Felmedelandet ser såhär ut:
Felmedelandet ser såhär ut:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Microsoft Query Villkor
Om du testar med:
Fungerar det då?
Kod: Markera allt
EXEC(SELECT TID_D.DATUM, TID_D.ANST_NR, TID_D.ANL_NR, TID_D.SKIFTTEXT_1, TID_D.SKIFTTEXT_2, TID_D.SKIFTTEXT_3, TID_D.SKIFTTEXT_4, TID_D.SKIFTTEXT_5, TID_D.SKIFTTEXT_6, TID_D.AO_NR, TID_D.AO_NR, TID_D.AVDELNING, TID_D.UAV, TID_D.SKIFT, TID_D.BEHANDLAD, TID_D.PERIOD, TID_D.DIM_FTG_1, TID_D.DIM_0_1, TID_D.DIM_1_1, TID_D.DIM_FTG_2, TID_D.DIM_0_2, TID_D.DIM_1_2
FROM MeritSCV.dbo.TID_D TID_D
WHERE TID_D.DATUM in ( convert(char(6), dateadd(dd, -1, getdate()), 12), convert(char(6), dateadd(dd, -2, getdate()), 12) ))
Re: Microsoft Query Villkor
Nej, då får jag följande:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Microsoft Query Villkor
Kod: Markera allt
EXEC('SELECT TID_D.DATUM, TID_D.ANST_NR, TID_D.ANL_NR, TID_D.SKIFTTEXT_1, TID_D.SKIFTTEXT_2, TID_D.SKIFTTEXT_3, TID_D.SKIFTTEXT_4, TID_D.SKIFTTEXT_5, TID_D.SKIFTTEXT_6, TID_D.AO_NR, TID_D.AO_NR, TID_D.AVDELNING, TID_D.UAV, TID_D.SKIFT, TID_D.BEHANDLAD, TID_D.PERIOD, TID_D.DIM_FTG_1, TID_D.DIM_0_1, TID_D.DIM_1_1, TID_D.DIM_FTG_2, TID_D.DIM_0_2, TID_D.DIM_1_2
FROM MeritSCV.dbo.TID_D TID_D
WHERE TID_D.DATUM in ( convert(char(6), dateadd(dd, -1, getdate()), 12), convert(char(6), dateadd(dd, -2, getdate()), 12) )')
Re: Microsoft Query Villkor
Jag skulle aldrig skriva SQL'en så där, utan så här:
Eller något liknande...
Kod: Markera allt
EXEC
('SELECT TID_D.DATUM,
TID_D.ANST_NR,
TID_D.ANL_NR,
TID_D.SKIFTTEXT_1,
TID_D.SKIFTTEXT_2,
TID_D.SKIFTTEXT_3,
TID_D.SKIFTTEXT_4,
TID_D.SKIFTTEXT_5,
TID_D.SKIFTTEXT_6,
TID_D.AO_NR,
TID_D.AO_NR,
TID_D.AVDELNING,
TID_D.UAV,
TID_D.SKIFT,
TID_D.BEHANDLAD,
TID_D.PERIOD,
TID_D.DIM_FTG_1,
TID_D.DIM_0_1,
TID_D.DIM_1_1,
TID_D.DIM_FTG_2,
TID_D.DIM_0_2,
TID_D.DIM_1_2
FROM MeritSCV.dbo.TID_D TID_D
WHERE TID_D.DATUM in
( convert(char(6), dateadd(dd, -1, getdate()), 12),
convert(char(6), dateadd(dd, -2, getdate()), 12))
')
Re: Microsoft Query Villkor
Vad jag minns har man inte mycket för det i "microsoft query" den formaterar glatt om det ändå. Man får vara glad att man kan skriva något manuellt alls
Re: Microsoft Query Villkor
Senast jag körde MS-Query var 93-94 någongång, men det kan ju stämma...
Och nej, för automatgenererad kod spelar det kanske inte någon större roll.
Men för något som ska underhållas i framtiden så spelar läsbarheten roll.
Och nej, för automatgenererad kod spelar det kanske inte någon större roll.
Men för något som ska underhållas i framtiden så spelar läsbarheten roll.
Re: Microsoft Query Villkor
Absolut, ett sätt kan vara att ha en liten textfil(eller en textruta eller liknande någonstans i sitt kalkylblad) som man kan ha snyggt formaterad och kopiera in från vid behov...
Re: Microsoft Query Villkor
Hur lägger man till ytterligare ett kriteria??
Jag försöker med:
men det vill inte fungera (jag får "Incorrect syntax near 'S' ")
Jag vill alltså bara ha poster i TID_D.AVDELNING som börjar på S
När jag ändå håller på så kan jag ju tillägga att jag även bara vill ha poster i TID_D.SKIFTTEXT_1 som inte är tomma.
Jag försöker med:
Kod: Markera allt
WHERE TID_D.DATUM in
( convert(char(6), dateadd(dd, -1, getdate()), 12),
convert(char(6), dateadd(dd, -2, getdate()), 12))
AND (TID_D.AVDELNING Like 'S%')
')
Jag vill alltså bara ha poster i TID_D.AVDELNING som börjar på S
När jag ändå håller på så kan jag ju tillägga att jag även bara vill ha poster i TID_D.SKIFTTEXT_1 som inte är tomma.