Avatar billede tallens Nybegynder
13. juni 2005 - 09:26 Der er 15 kommentarer og
1 løsning

Notat-felt klipper ved 255 tegn i en forspørgelse

Jeps... jeg kan simpelthen ikke forstå hvad der sker...

Jeg har 2 tabeller, forbundet i en "1 til mange", men så snart jeg forsøger at lave en forspørgelse på mit Notat Felt. så klipper den de første 255 tegn... ?? men jeg kan se i min "Table_main_data.main_Desc" at der er langt mere (det er et notat felt)

-----------------
SELECT Table_main_data.main_Project_Name, Table_main_data.main_Desc, Table_main_data.main_id

FROM Table_main_data LEFT JOIN Tabel_deltager ON Table_main_data.main_id = Tabel_deltager.id

WHERE (((Table_main_data.main_id)=5))

GROUP BY Table_main_data.main_Project_Name, Table_main_data.main_Desc, Table_main_data.main_id;
-----------------

Hvis der ønskes mere information så sig endelig til... jeg har prøvet med HAVING og med færre og mindre tabeller, selv uden JOIN på "Tabel_deltager" men den vil stadig ikke vise hele indholdet...

Jeg er meget mystisk over hvad det kan være...

/tallens'out
Avatar billede terry Ekspert
13. juni 2005 - 09:36 #1
Try it without GROUP BY on the memo (notat) field
Avatar billede terry Ekspert
13. juni 2005 - 09:38 #2
a memo field can contain over 65 thousand characters so grouping on a memo field is limited to the frusr 255 characers
Avatar billede terry Ekspert
13. juni 2005 - 09:59 #3
You could also try altering GROUP to Last or first
Avatar billede tallens Nybegynder
13. juni 2005 - 10:00 #4
Ah... det kunne virke, men jeg kan stadig ikke se hvorfor/hvordan det går galt, for her kommer så grunden til at jeg skal ha en join på "Tabel_deltagere" fordi jeg skal bruge et "COUNT" på de tilknyttede folk. strengen vil nu se noget lign. sådan her ud.

-----------------
SELECT Table_main_data.main_id, Table_main_data.main_Project_Name, Table_main_data.main_Desc, Table_main_data.main_Owner, Table_main_data.main_Date_Start, Table_main_data.main_Author, Table_main_data.main_Resource_staff, Table_main_data.main_Date_Creation, Table_main_data.main_Time_Est, Table_main_data.main_Date_End, Table_main_data.main_Status, Table_main_data.main_checkgroup_1, Table_main_data.main_checkgroup_2, Table_main_data.main_checkgroup_3, Table_main_data.main_checkgroup_4, Table_main_data.main_checkgroup_5, Table_main_data.main_timeUser, Count(Tabel_deltager.deltager_projekt) AS AntalOfdeltager_projekt

FROM Tabel_deltager RIGHT JOIN Table_main_data ON Tabel_deltager.deltager_projekt = Table_main_data.main_id

WHERE (((Table_main_data.main_id)=5))

GROUP BY Table_main_data.main_id, Table_main_data.main_Project_Name, Table_main_data.main_Desc, Table_main_data.main_Owner, Table_main_data.main_Date_Start, Table_main_data.main_Author, Table_main_data.main_Resource_staff, Table_main_data.main_Date_Creation, Table_main_data.main_Time_Est, Table_main_data.main_Date_End, Table_main_data.main_Status, Table_main_data.main_checkgroup_1, Table_main_data.main_checkgroup_2, Table_main_data.main_checkgroup_3, Table_main_data.main_checkgroup_4, Table_main_data.main_checkgroup_5, Table_main_data.main_timeUser;
-----------------


Det kan være jeg har misset et eller andet i min "forståelse"  omkring når man bruger GROUP BY :), men det er vist ikke muligt at lave en COUNT uden at ha GROUP BY med vel?...

Så hvordan den påvirker min sætning så jeg kan laver en COUNT på felt ved jeg ikke det undre mig meget at den gør det hele tiden... jeg synes aldrig at ha haft problemer af denne her slags før... så det undre mig at den ligepludselig gør det, når jeg ikke har gjort noget anderledes end jeg plejer...

/tallens'out
Avatar billede tallens Nybegynder
13. juni 2005 - 10:03 #5
(join forbindelsen er ændret retning for at den tager alle "main" med og kun dem som er i Deltagere som har tilhørs forhold til main... Hvis der var noget mistænkeligt over at de var ændret ;)
Avatar billede terry Ekspert
13. juni 2005 - 10:06 #6
the problem is when you GROUP on a memo field!

Try making a simple query with only the table containing the memo field. You will see ALL characters. Now change the query GROUPing on the memo field. You will now only see the frist 255 chararters!
Avatar billede terry Ekspert
13. juni 2005 - 10:07 #7
You can change the JOIN to a left or right by right clicking on the thin line. Then choose the JOIN you want.
Avatar billede tallens Nybegynder
13. juni 2005 - 10:10 #8
Ah... I think I see your point now...

Når jeg bruger GROUP BY på mit Memo felt så kigger den kun på de første 255 tegn, og det er selvklart dem som den hiver med over i mit forspøgelser...

Jeg tror jeg kan se hvorfor nu, er LAST og FIRST nogle af de eneste som kan bruges ? eftersom den bliver ret sur hvis jeg fjerne DESC ud af min GROUP BY og ikke gør mere ved den?... vil der være nogen komplicationer hvis jeg bruger FIRST eller LAST?

/Tallens'out
Avatar billede terry Ekspert
13. juni 2005 - 10:11 #9
You can also make SUB selects in queries, for example.

SELECT T1.ID, (SELECT count(*) FROM T3 where T3.SubID = T1.ID) AS Cnt
FROM T1
Avatar billede terry Ekspert
13. juni 2005 - 10:13 #10
If the memo field was on the MANY side of the relationship then using first or last may not give you the correct record, but if it is on the one side then there is only one to choose from
Avatar billede terry Ekspert
13. juni 2005 - 10:15 #11
its not easy to give a correct solution as I dont know enough about your data and waht you want to see.
Avatar billede tallens Nybegynder
13. juni 2005 - 10:26 #12
Thats okey, du er undskyldt, jeg har ikke smidt alt her så det er hvad man kan forvente, og det lyste lidt op på problemet, jeg kunne bare ikke se det med "GROUP BY" og vidste faktisk ikke at den kunne gå hen og bliver "emsig" hvis man brugte det på et "Notat/Memo" - felt...

Men jeg tror det løste situationen, og det var det vigtigste.

Tak igen Terry, jeg bruger FIRST nu, det er på den rigtige side af Forspørgelsen, så det går lige... hvis det var den anden Tabel (_deltagere) så ville der nok opstå et problem. da det er en 1-til-m...

jeg overvejede at lave en SUB-Query på den men synes ikke det burde være nødvændigt at gøre det, men hvis alt fejler kan det jo godt gå hen og blive nødvændigt :)

FOrsat god uge, og her er lidt points :)
/Tallens'out
Avatar billede tallens Nybegynder
13. juni 2005 - 10:26 #13
Forsat god uge, og her er lidt points :)
/Tallens'out
Avatar billede tallens Nybegynder
13. juni 2005 - 10:27 #14
hmmm hvorfor vil den ikke acceptere dit svar?

/tallens'out
Avatar billede tallens Nybegynder
13. juni 2005 - 10:28 #15
sååådan hehe... doh, man skulle vælge dit navn på den lille fine liste hehe... ;)

FAndme godt at være nørd når man ikke engang er nørded nok... ;)

/Tallens'out
Avatar billede terry Ekspert
13. juni 2005 - 10:41 #16
thanks, and a good week to you too.

/terry
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester