Jeg må desværre indrømme, at jeg ikke kan se den afgørende forskel på hver n'te og hver n+1'th. Hvis du har en løsning på det sidste, ville det bestemt også løse mit problem.
Synes godt om
Slettet bruger
23. marts 2012 - 08:53#4
Hvis du med markere, mener markere i datasheet view, mener jeg ikke det er muligt. Hvis der skal udvælges i en tabel på en eller anden måde, er det nok muligt - ved at tilsætte et felt: 'erMarkeret' og så på programmerings/sql vis markere udvalgte poster. Det kræver hver n'te bliver defineret i kontekst til en sorteringsorden. Hvad skal det efterfølgende bruges til?
Du har helt ret: Markeringen skal ske i forbindelse med en sorteringsorden. Jeg har en større adressefil (250.000 adresser) til en svensk mailing, og det svenske postvæsen har temmelig besværlige krav til sortering og markering af adresserne, hvis man vil opnå en ekstra rabat på portoen:
Først skal man downloade deres sorteringsfil med "brevbärar postkontorers postnumre og tilhørende brevområde". Herefter sorteres adressefilen i henhold til disse brevbärar postkontorers postnumre i stigende orden, herefter alfabetisk efter gadenavn og endelig i stigende orden efter husnummer, først efter ulige og herefter lige numre. Disse sorteringer har jeg fixet, men dernæst ønsker det svenske postvæsen også, at adressefilen bundtes efter nedenstående regler, hvor jeg har klaret pkt. 1 og 2, men er strandet ved pkt. 3:
1. Hvis der indenfor brevbärar postnummeret er mindst 25 forsendelser skal hver forsendelse markeres med ordet "Lokal"
2. Hvis der indenfor brevbärar postnummeret er færre end 25 forsendelser skal de samles med andre forsendelser til brevområdet som brevbärar postnummeret tilhører, dog gælder reglen i pkt. 2. stadig, så det er kun de brevbärar postnumre, hvor bundterne er mindre end 25 der samles på brevområde niveau. Disse skal markeres med brevområdets navn.
3. Gælder kun for adresser markeret med "Lokal": For hver 50. adresse pr. brevbärar postnummer skal der tilføjes følgende Brytmarkering *
Jeg havde forstillet mig en opdateringsforespørgsel der opdaterer et felt med * ud for hver 50. adresse efter ovenstående sortering, men kan ikke gennemskue hvordan man gør.
Jeg håber, at denne forklaring gav et nogenlunde klart billede af problemstillingen?
Synes godt om
Slettet bruger
23. marts 2012 - 20:25#6
Lidt at komme videre på, måske?
I en tabel Mails med felterne postnr og navn, er her hver 50., indenfor hvert postnr, markeret som boolsk falsk. Det virker når der ikke er dupletter mht. navn
SELECT (select (count(navn) mod 50=0 ) from Mails cntLess where ((strcomp(cntLess.navn,Mails.navn,2)<0) and (cntLess.postnr=Mails.postnr))) AS is50ndeMarked, * FROM Mails ORDER BY [postNr], [navn]
"Handlingen skal bruge en opdaterbar forespørgsel" er meddelelsen hvis man forsøger undertegnede på en Mails tabel tilsat nyt felt: 'is50ndeMarked'
UPDATE Mails SET is50ndeMarked = (select (count(navn) mod 50=0 ) from Mails cntLess where ((strcomp(cntLess.navn,Mails.navn,2)<0) and (cntLess.postnr=Mails.postnr)));
Men det det må kunne løses med temporære tabeller eller loope igennem Mails i vba kode og udføre update en af gangen.
Jeg beklager meget, at jeg først vender tilbage nu, men har først haft mulighed for at gå videre med sagen nu. Dit forslag virker helt efter hensigten - tusind tak for hjælpen.
Jeg kan ikke lige se, hvordan jeg kan give dig points - men hvis du sender et svar, så giver jeg dig fluks de 30
Synes godt om
Slettet bruger
19. april 2012 - 09:43#9
Det var rart at høre at du fik løst.
Synes godt om
Ny brugerNybegynder
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.