Avatar billede goofy75 Nybegynder
15. juli 2004 - 08:48 Der er 25 kommentarer og
1 løsning

Dubblet søgning, men skal bruge flere end én af hver!

Jeg bruger tit access til at lave dubbletsøgning, lave en kopi (structure only), sætte min nøgle og så "append" query bagefter - vupti, jeg har eks. kun ét firma pr. adresse...

men som eksempel, lad os sige der er 10 firmaer pr. adresse, hvordan (hvis man altså kan) kan jeg så vælge eks. 5 af disse???
Avatar billede jensen363 Forsker
15. juli 2004 - 09:09 #1
Hvordan ser din query ud ?
Avatar billede terry Ekspert
15. juli 2004 - 09:10 #2
a look at your tables/relationships would help too
Avatar billede jensen363 Forsker
15. juli 2004 - 09:11 #3
Right on Terry c",)
Avatar billede goofy75 Nybegynder
15. juli 2004 - 09:17 #4
jamen ehh? ...altså!

forestil jer en lang tabel, lad os bare tage en masse firmaer for eks. her har vi så Firma, adresse, ansatte - så siger vi jeg gerne vil have 5 ansatte pr. firma (jeg kan godt finde ud af at vælge én pr. firma, men nu skal jeg bruge et vikårligt tal)
Avatar billede terry Ekspert
15. juli 2004 - 09:25 #5
SELECT TOP 5, * FROM YourTable WHERE Firma = 1
Avatar billede goofy75 Nybegynder
15. juli 2004 - 09:39 #6
SELECT TOP 5 from [my table] virker fint... (så vælger den de 5 første på min liste) men den brokker sig over "where company = 1"
(data type mismatch in criteria expression.)

SELECT TOP 5, *  FROM [10+ navn] WHERE company = 1

...hvis der lige følger en forklaring ;)
Avatar billede goofy75 Nybegynder
15. juli 2004 - 09:40 #7
nu satte jeg "" omkring 1, altså:

SELECT TOP 5, *  FROM [10+ navn] WHERE company = "1"

men det virker jo ikke, blankt resultat - der er jo ingen firma som heder "1"
...noget jeg ikke forstår - eller måske jeg har formuleret mig forkert?
Avatar billede terry Ekspert
15. juli 2004 - 09:45 #8
If company is a text field then you need to use single quotes

SELECT TOP 5, *  FROM [10+ navn] WHERE company = '1'
Avatar billede terry Ekspert
15. juli 2004 - 09:46 #9
WE cant see the data, so you tell us if there is a company '1' :o)
Avatar billede goofy75 Nybegynder
15. juli 2004 - 09:57 #10
'' or "" I still get nothing from the query :(
Avatar billede goofy75 Nybegynder
15. juli 2004 - 10:06 #11
each company does have a unique number associated with it, if that is of any help... something like selecting only ie. 5 of each occuring number...
...can it be done or?
Avatar billede terry Ekspert
15. juli 2004 - 10:08 #12
can you send your dB so I can see it?

eksperten@NOSPAMsanthell.dk
remove NOSPAM
Avatar billede goofy75 Nybegynder
15. juli 2004 - 10:12 #13
its on the way...
Avatar billede terry Ekspert
15. juli 2004 - 10:27 #14
I dont see any field in the table named Company which contains an ID (number) but I do see a field named contactID. Is this the field you want to use?

SELECT TOP 5, *  FROM [10+ navn] WHERE contactID= 396
Avatar billede goofy75 Nybegynder
15. juli 2004 - 10:38 #15
so far so good... ...then we just need to figure out how to do it for all the ID numbers (so we select X amount from each companyID)
Avatar billede terry Ekspert
15. juli 2004 - 11:06 #16
I'm not quite sure that it is so easy without making a temp table for storing the TOP x of each
Avatar billede goofy75 Nybegynder
15. juli 2004 - 11:22 #17
my thoughts too :( ...so I guess there is no easy way to do that - cant the ID table be used as a variable or something? ...*sigh* this would really have saved some time...
Avatar billede terry Ekspert
15. juli 2004 - 11:28 #18
what ID table?
Avatar billede terry Ekspert
15. juli 2004 - 11:32 #19
Give me five minutes to see if I can put an SQL together, I think I have an idea!
Avatar billede terry Ekspert
15. juli 2004 - 11:41 #20
Sorry, my idea didnt works as I had hoped.
Avatar billede goofy75 Nybegynder
15. juli 2004 - 11:46 #21
:( ...thanx for trying anyway...
Avatar billede terry Ekspert
15. juli 2004 - 14:09 #22
hi again
I think I have a solution! You need to add a new column (ID) and make it an Autonumber.

SELECT K1.*
FROM [Kunder-Alle] AS K1
WHERE (((K1.ID) In (SELECT TOP 5 ID FROM  [Kunder-Alle] AS K2 WHERE K1.ContactID = K2.ContactID ORDER BY K2.ID )));
Avatar billede terry Ekspert
16. juli 2004 - 08:31 #23
goofy75>Can you use the SQL I have given?
Avatar billede goofy75 Nybegynder
17. juli 2004 - 19:47 #24
hi there terry... ...thanks for really trying!!! (highly appreciated) I'll give it a try as soon as im back at work!

It looks promissing...
Avatar billede goofy75 Nybegynder
22. juli 2004 - 09:08 #25
:( ...ran the query you made, it did run, but the result was "weird"  -  got more than what I started with...

Made a extra collumn called "id" with autonumber as you suggested, not sure if I did something wrong :|
Avatar billede goofy75 Nybegynder
22. juli 2004 - 09:35 #26
Hey man... After "playing" around with it I actually do believe it works :D ...you are the man!!!

Thanks..!
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