Velden bij elkaar zoeken.

Status
Niet open voor verdere reacties.

schuurar

Gebruiker
Lid geworden
15 aug 2009
Berichten
417
Ik heb een database waar ik bestellingen in kan voeren en daarmee ook facturen kan uitdraaien. Nu hebben klanten een debiteurennummer maar sommige hebben ook een locatienummer of projectnummer.
Deze klanten bestellen dan wat en de factuur gaat dan naar het hoofdkantoor.
Op de factuur staan dan de klantgegevens en ook waar het geleverd is.

Nu komt het probleem.
Als ik een factuur maak heb ik een verwijzing naar de klant waar het gebacht is :
Code:
=IIf([BestellingKlantnaam]=[Achternaam];"";"Bezorgt bij: "+[BestellingKlantNaam])
Tot zover gaat het goed.
De gene die het betaald kan dan zien waar het gebracht is maar heeft geen locatie nummer (sommige bedrijven zijn daar erg moeilijk in :()
nu het volgende.
Ik wil dus dat er ook een locatie/project nummer te zien komt.
Ik heb nu dit :
Code:
=IIf(IsNull([Locatienr]);"";"Locatienr: " & [Locatienr] & " ")
Maar wat er nu gebeurt is dat hij het locatienummer pakt van de gene die de factuur betaald en niet het locatie nummer van de gene waar het geleverd is.

Hoop dat jullie me begrijpen en dat er iemand me kan helpen om het aan te passen!


Bedankt alvast!
 
Laatst bewerkt:
Waar sla je het lokatienummer precies op? Als je het lokatienummer haalt uit het record van de klant waar de factuur naar gaat, is het logisch dat je dat lokatienummer te zien krijgt. Ik vermoed dus dat het afleveradres van een andere klant in de tabel is, met een ander lokatienummer?
Je zou dan de functie DLookUp moeten (kunnen) gebruiken, om het lokatienummer op te zoeken. Daarbij moet je dus wel weten op basis van welk gegeven je het lokatienummer kunt opzoeken.
Maar je moet dus ergens een verwijzing hebben naar dat andere record, anders kun je het niet juist terugvinden.

Het is het handigst als je een testversie kunt posten, zonder klantgevoelige informatie, want dat kijkt voor ons toch wat makkelijker...

Michel
 
Ik heb een invoerveld voor elke klant met alles er op.
Naam,adres enz. en ook de locatie nummer staan in dat zelfde invul veld.

In onderstaande code haald hij de naam uit de goede record.(heet toch record ?)
Code:
=IIf([BestellingKlantnaam]=[Achternaam];"";"Bezorgt bij: "+[BestellingKlantNaam])

Hij moet dus uit de zelfde record als hierboven ook het locatienummer halen (als het aanwezig is).

Hoop dat je hier wat mee kan.

PS. Is voor mij beetje moeilijk om test versie te posten. Weet niet hoe ik een test versie moet maken. Ben een beetje soortvan creatieve computeraar die met wat knippen en plakken wat in elkaar maakt.
Heb het gehele document van iemand gekocht en probeer het aan te passen naar zoals het voor mij beter werkt.

Hoop dat jullie me willen/kunnen helpen

Bedankt alvast
 
Ik ben bang dat je aanvullende informatie niet heel erg aanvult...
Als je kijkt naar de structuur van je factuur, dan heb je waarschijnlijk niet alles in één veld staan. Ik denk dat je bedoelt dat alles op één formulier staat, waarbij alle verschillende gegevens een eigen tekstvak hebben.
Daarbij zal dit formulier zijn gebaseerd op een tabel of een query, met daarin de klantgegegevens. En hier zit vermoedelijk het probleem. Want als je gegevens ophaalt uit de tabel Klanten, zoals Klantnaam, en je hebt in hetzelfde record een LokatieID, dan kan er eigenlijk niet een verkeerd LokatieID worden opgehaald.
Daarom is het dus belangrijk voor ons, om jouw goed te kunnen helpen, dat we weten wat precies de relatie is tussen Lokaties en Klanten. Als je per klantID (debiteurennummer?) maar één lokatieID hebt, zal dat nummer in je klantentabel kunnen staan, en moet je het probleemloos kunnen opvragen op de factuur.
Als je per klant verschillende (aflever)lokaties hebt, lijkt het logisch als je daarvoor een aparte tabel gebruikt. In deze tabel koppel je dan de KlantID aan het LokatieID, zodat je dan, bij 3 verschillende lokaties, 3 records hebt in die tabel, met drie keer hetzelfde KlantID, en drie verschillende LokatieID's.
Met behulp van een query kun je dan de Lokaties koppelen aan de Klanten. Deze query hangt dan weer achter de facturen, zodat je de LokatieID weer kunt terugvragen in de Factuur.

Om een beter inzicht te krijgen in de structuur van de db, zul je hem dus toch op de een of andere manier moeten zien te posten. Wat je kunt doen is het volgende: Maak een kopie van de database, en gooi in eerste instantie de overbodige dingen weg, zoals rapporten en formulieren die niet belangrijk zijn voor de vraag, en tabellen die niet worden geraadpleegd.
De tabellen die wel nodig zijn, kun je het beste leegmaken. Daar kun je een Verwijderquery voor gebruiken.
Maak vervolgens één of twee records aan, met verzonnen gegevens, zodat we kunnen zien wat er precies gebeurt.
Als er wat gegevens in de db zitten waar we mee kunnen stoeien, moet de database worden gecomprimeerd. Dat doe je met het menu <Extra>, <Database Hulpprogramma's>, <Database comprimeren en Herstellen>
Als laatste stap kun je, bijvoorbeeld met Winzip of WinRar, de database zippen. Dan is hij klein genoeg om te kunnen posten als bijlage.

Michel
 
Ik ga er mee stoeien. Kijken of ik het voor elkaar krijg.

PS voor Octafish
Heb je me email mog gehad ?
 
Is ontvangen..

Michel
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan