Tabelen samentellen

Status
Niet open voor verdere reacties.

Froelant

Gebruiker
Lid geworden
13 okt 2008
Berichten
11
Ik ben een database aan het ontwerpen in acces die voordien in excel stond.
volgende code laat mij de mogelijkheid om de som van 2 kolommen samen te tellen in de 2 de kollom waar reeds gegevens instaan en waar de gegevens uit de eerste kolom moeten worden bijgeteld. Nu lukt mij dit niet in acces. Is er soms een slimmerik die voor ij onderstaande code kan wijzigen opdat ze wel bruikbaar wordt in access
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 4 And Target.Row > 1 Then Target.Offset(0, 1) = Target.Offset(0, 1) + Target

End Sub

Bedankt bij voorbaat
Francois
 
In access gebruik je daar een query voor:
Code:
select kol1 + kol2 as kol1pluskol2 from tabel
Enjoy!
 
probleem nog niet opgelost

Zoals je voorstelde heb ik een query gemaakt doch als ik hem laat uitvoeren frijg ik enkel "fout" in de tabel. De volgende lijn is de code die ik heb ingevoerd in SQL

SELECT kol1+kol2 as kol1pluskol2 from ispcblikkenvis Query

Ik blijf dus ergens met een nog uit te voeren correctie zitten

Dank bij voorbaat
Froelant
 
Zoals je voorstelde heb ik een query gemaakt doch als ik hem laat uitvoeren frijg ik enkel "fout" in de tabel. De volgende lijn is de code die ik heb ingevoerd in SQL

SELECT kol1+kol2 as kol1pluskol2 from ispcblikkenvis Query

Ik blijf dus ergens met een nog uit te voeren correctie zitten

Dank bij voorbaat
Froelant

Omdat je ook null waardne in je kol1 en kol2 hebt zitten krijg je die fout.

Code:
SELECT nz(kol1,0)+nz(kol2,0) as kol1pluskol2 from  ispcblikkenvis

HTH:D
 
Omdat je ook null waardne in je kol1 en kol2 hebt zitten krijg je die fout.

Code:
SELECT nz(kol1,0)+nz(kol2,0) as kol1pluskol2 from  ispcblikkenvis

HTH:D

Is een zeer terechte opmerking, maar volgens mij stond er nog iets meer in de query
Code:
SELECT nz(kol1,0)+nz(kol2,0) as kol1pluskol2 from  ispcblikkenvis [COLOR="Red"]Query[/COLOR]

Dit zal je dan alsvolgt moeten opnemen
Code:
SELECT nz(kol1,0)+nz(kol2,0) as kol1pluskol2 from  [ispcblikkenvis Query]
 
Ik heb reeds ...

Ik heb reeds een paar van jullie mogelijkheden uitgeprobeerd maar kom niet tot een optelling van de twee kolommen met een weergave van het totaal in de tweede kolom.
Daarom volgende:
Expr: (SELECT nz(EenhedenInBestelling1,0)+nz(EenhedenInVoorraad2,0) as EenhedenInBestelling1plusEenhedenInVoorraad2 from [ispcblikkenvis Query])

Dit zou volgens julie de oplossing moeten zijn, doch ik moet vaststellen dan er niets gebeurt.
Eerste kolom in de query is dus "EenhedenInBestelling" en de tweede kolom is "EenhedenInVoorraad" de derde is dus de kolom met bovenvermelde "expressie"
Ben ik op deze mannier wel juist bezig?
 
Ik heb reeds een paar van jullie mogelijkheden uitgeprobeerd maar kom niet tot een optelling van de twee kolommen met een weergave van het totaal in de tweede kolom.
Daarom volgende:
Expr: (SELECT nz(EenhedenInBestelling1,0)+nz(EenhedenInVoorraad2,0) as EenhedenInBestelling1plusEenhedenInVoorraad2 from [ispcblikkenvis Query])

Dit zou volgens julie de oplossing moeten zijn, doch ik moet vaststellen dan er niets gebeurt.
Eerste kolom in de query is dus "EenhedenInBestelling" en de tweede kolom is "EenhedenInVoorraad" de derde is dus de kolom met bovenvermelde "expressie"
Ben ik op deze mannier wel juist bezig?


Snap ik niet bij mij werkt deze als een zonnetje
Code:
SELECT nz(kolom1)+nz(kolom2) as totaal FROM Tabel1;

In de ontwerpweergave wordt dit weergeven als
totaal: nz(kolom1) + nz(kolom2)

Dus die nz() is nodig want ik heb ook lege velden in kolom1 en kolom2 staan en dan wordt er gewoon doorgeteld.

Dus ik snap het niet. Ik neem wel aan dat je een aparte query hebt gemaakt waar dit wordt gedaan en niet in de 'gegevens' van een bepaalde rubriek op je formulier!!
Ga dan naar deze aparte query, selecteer SQL-weergave, kopieer alles wat je daar ziet en plaats dat als code hier in je post. Dan weten we precies wat er staat.

nb. code kies je door in het tekstedit scherm op de # te drukken.

Wim

Wim
 
nog steeds een foutmelding

Nu krijg ik in de tweede kolom de melding #naam
De query werkt nochtans normaal en telt de 2 kolommen samen.
Wat kan ik hier tegen doen
Francois
 
Nu krijg ik in de tweede kolom de melding #naam
De query werkt nochtans normaal en telt de 2 kolommen samen.
Wat kan ik hier tegen doen
Francois

Nu weet ik niet meer wat je wilt zien.
De query werkt, maar je krijgt ergens nog een #naam. Dat betekend dat je op je formulier deze foutboodschap krijgt
Dus ik wil weten wat je aan het doen bent?
Kan je een voorbeeld bestand sturen?

Wim
 
re

Dit is een formulier met een subformulier dat ik binnen een database in ontwerp dat ik probeer uit te werken tot een bruikbaar formulier om maandelijks een correcte stock te kennen voor de werking van de f&b van een hotel waar ik werk ( nu tijdelijk niet wegens ziekte, wat mij er toe aangezet heeft hier aan te beginnen)
het subform:
serien°, naam, Eeh prijs,eenhedeninbestelling, eenheden invoorraad, prijs.
Er zijn nog verdere handelingen, maardeze werken. Er is enkel het probleem: de som van eenheden in bestelling en eenheden in voorraad waarvan het totaal moet verschijnen in de kolom eenhedeninvoorraad en van welke som ik de prijs kan verrekenen in de volgende kolom. Als je de begin opgave van deze vraag gelezen hebt heb je kunnen zien dat ik een formule had uitgewerkt in excel die perfect werkte en waar als je een getal in de kolom eenhedeninbestelling intikte deze bij de kolom eenheden in voorraad werd biijgeteld ongeacht wat het getal in de kolom eenhedeninbestelling voordien was. nu blijkt het mij niet te lukken om dit in access ook te realiseren.
Groeten
François
 
Dit is een formulier met een subformulier dat ik binnen een database in ontwerp dat ik probeer uit te werken tot een bruikbaar formulier om maandelijks een correcte stock te kennen voor de werking van de f&b van een hotel waar ik werk ( nu tijdelijk niet wegens ziekte, wat mij er toe aangezet heeft hier aan te beginnen)
het subform:
serien°, naam, Eeh prijs,eenhedeninbestelling, eenheden invoorraad, prijs.
Er zijn nog verdere handelingen, maardeze werken. Er is enkel het probleem: de som van eenheden in bestelling en eenheden in voorraad waarvan het totaal moet verschijnen in de kolom eenhedeninvoorraad en van welke som ik de prijs kan verrekenen in de volgende kolom. Als je de begin opgave van deze vraag gelezen hebt heb je kunnen zien dat ik een formule had uitgewerkt in excel die perfect werkte en waar als je een getal in de kolom eenhedeninbestelling intikte deze bij de kolom eenheden in voorraad werd biijgeteld ongeacht wat het getal in de kolom eenhedeninbestelling voordien was. nu blijkt het mij niet te lukken om dit in access ook te realiseren.
Groeten
François

François,

In principe neem je geen berekende velden op in een tabel of query. Je toont zze gewoon op je formulier door ze te berekenen. Daar heb je geen query of zoiets voor nodig.
Misschien ben jij maar wij ook vanaf het begin ophet verkeerde been gezet.
Dus.

Neem een veld op in je subformulier en vul bij 'besturingselementbron' in
=nz(EenhedenInBestelling1)+nz(EenhedenInVoorraad2)
en het totaal van deze twee wordt getoond.
Als je dit veld ook een naam geeft, dan kan je die gebruiken om de rubriek te bereken met de prijs.

Zie iik de bijlage, daarin heb ik het (eenvousig) uitgewerkt.

Succes Wim
 

Bijlagen

re

Ik kan jammer genoeg de zip file niet openen. Er wordt een fout gegeven bij unzip.
Doch ik ben de ganse avond bezig geweest met de opgave die je me hebt dorgestuurd.
Natuurlijk kan ik gewoon twee kolommen laten optellen in een derde kolom, maar dit is niet de bedoeling.
Ik heb dus maar twee kolommen: "EenhedenInBestelling" en "EenhedenInVoorraad".
De som van deze twee kolommen moet in de kolom "EenhedenInVoorraad" komen en moet dus constant de in de kolom "EenhedenInBestelling" ingevoerde getallen bij de reeds in de kolom"EenhedenInVoorraad"aanwezige getallen bij tellen.
Met uw opgave gebeurt dit niet.
Dus extra denkwerk
Groetjes
François
 
Ik kan jammer genoeg de zip file niet openen. Er wordt een fout gegeven bij unzip.
Doch ik ben de ganse avond bezig geweest met de opgave die je me hebt dorgestuurd.
Natuurlijk kan ik gewoon twee kolommen laten optellen in een derde kolom, maar dit is niet de bedoeling.
Ik heb dus maar twee kolommen: "EenhedenInBestelling" en "EenhedenInVoorraad".
De som van deze twee kolommen moet in de kolom "EenhedenInVoorraad" komen en moet dus constant de in de kolom "EenhedenInBestelling" ingevoerde getallen bij de reeds in de kolom"EenhedenInVoorraad"aanwezige getallen bij tellen.
Met uw opgave gebeurt dit niet.
Dus extra denkwerk
Groetjes
François
Dat moet je ook niet willen. De query laat zien wat je in Voorraad hebt staan. Je moet ook de query verder gebruiken in je form, rapport etc. Als je een update query gebruikt om de aantallen in je tabel te updaten dan weet je niet meer wat je werkelijk in huis hebt.

En stel dat je die query per ongeluk twee keer uitvoert...

Enjoy!
 
re

bedankt tot nu om mij verder te helpen, maar ik kan nu voor een week niet verder aan mijn programmatje. i moet voor een weekje het hospitaal binnen. Tot na deze gedwongen rustperiode
bedankt
François
 
bedankt tot nu om mij verder te helpen, maar ik kan nu voor een week niet verder aan mijn programmatje. i moet voor een weekje het hospitaal binnen. Tot na deze gedwongen rustperiode
bedankt
François

Sterkte en wellicht tot horens

Wim
 
Terug in the ether

Hoy beste acceess mates
Ja ik kan van in de kliniek (Chemo behandeling van 4 dagen; OLV Aalst.Be) vrij uit met de pc werken, Zo ben ik vandaag gans de dag bezig geweest met bovenvermelde codes en het is OK.Iik heb gezien welke fout ik heb gemaakt: bij de kolombepaling(SQL) ben ik vergeten te preciseren uit welke tabel de kolommen vandaan kwamen. Dit is nu wel in orde,maar nu heb ik het probleem dat ik de kolom niet meer in het subformulier kan plaatsen.
Hebben jullie craks daar ook een oplossing voor
 
Dank u wel voor de hulp, maar....

De berekening werkt nu, maar er stelt zich een ander probleem. Ik kan de berekening niet in een formulier oproepen. Ik heb de eigenschappen van het veld verandert in de eigenschappen van het gegevenstype naar"Wizard opzoeken" maar ik krijg dat in het formulier de weergave "Fout" voor het veld.
Wie weet hier raad mee?
Groeten
François
 
ik begrijp niet goed waar het probleem zich voor doet.
kan je een sample database posten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan