Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

access tabellen- spalten errechnen lassen

Frage Entwicklung Datenbanken

Mitglied: Falkster

Falkster (Level 1) - Jetzt verbinden

07.09.2005, aktualisiert 22.09.2005, 7259 Aufrufe, 17 Kommentare

hi buddies,

wie kann man sich in ms access spalten "errechnen" lassen, quasi wie in excel...
beispiel:

eine spalte heißt "arbeitsbeginn", die 2.te heißt "arbeitsende" nun möchte ich mir
in spalte "stunden" die arbeitszeit in stunden ausgeben lassen, indem ich die differenz
aus beginn und ende bilde....

sorry.... aber ich bin echt ziemlich raus aus access

danke für jeden tip!!!

fm
Mitglied: 16640
07.09.2005 um 09:41 Uhr
SQL: update [tabellenname] set stunden = arbeitsende - arbeitsbeginn
Bitte warten ..
Mitglied: Falkster
20.09.2005 um 15:54 Uhr
hi,

danke, aber muss
ich für jede änderung eine extra abfrage schreiben??

... access füllt mit auch die spalte noch nicht obwohl geschrieben wird,
das X Datensätze aktualisiert werden, woran kann das liegen?

thanx
Bitte warten ..
Mitglied: Biber
20.09.2005 um 18:03 Uhr
@Falkster
Magst Du mal die Struktur Deiner Tabelle XZ posten oder würde uns das nur unnötig belasten? Wüsste mindestens 4 verschiedene Gründe, warum im Feld "Stunden" nichts zu sehen ist, bei Kenntnis der Feldtypen ließe sich das aber einschränken.

Biber
Bitte warten ..
Mitglied: 16640
20.09.2005 um 18:05 Uhr
Hab' ich ja schon fast wieder vergessen, diesen Thread ...

Was meinst Du mit 'jede Änderung' ?

Du kannst natürlich mehrere Felder in einem Lauf ändern, dann trennst Du die Statements mit einem Komma, bspw.:

<font class=code>
update [tabellenname] set spalte1 = wert1, spalte2 = wert2, spalte3 .... (usw.)
</font>

Was meinst Du mit 'access füllt die Spalte noch nicht ...'? Wenn Du keine Fehlermeldung bekommst, dann hat Access die Anweisungen auch ausgeführt. Kann natürlich sein, dass je nach WHERE-Bedingung nichts upgedated werden musste/sollte. Aber das kann ich aus meiner Kristallkugel nicht lesen. Dann müsstest Du schon mal konkrete Anweisungen posten, damit man da was zu sagen kann.
Bitte warten ..
Mitglied: Falkster
21.09.2005 um 09:56 Uhr
danke vielmals!

..also in einer tabelle "aufträge" habe ich u.a. die spalten,

"norm" "25%" "40%" und "Gesamtstunden,

nun will ich, dass die stunden aus norm,25%,40% addiert werden und in "Gesamtstunden"
eingetragen werden für den jeweiligen Datensatz.

Der Felddatentyp ist immer "zahl"

thanx
Bitte warten ..
Mitglied: 16640
21.09.2005 um 13:21 Uhr
Das hier

<font class=code>
update [aufträge] set Gesamtstunden = norm + [25%] + [40%]
</font>

sollte funktionieren.

Tip: verwende keine Sonderzeichen in Objektnamen, Du sparst Dir dann die umständliche Eingabe und kannst die eckigen Klammern weglassen.
Bitte warten ..
Mitglied: Falkster
21.09.2005 um 15:14 Uhr
hi dba,


habe das so gemacht, es werden angeblich die datensätze aktualisiert...
allerdings wird die spalte "gesamtstunden" nicht gefüllt mit den summen,
verstehe das nicht...

cu

falkster
Bitte warten ..
Mitglied: Biber
21.09.2005 um 15:43 Uhr
@Falkster,
a) ich habe mir die Struktur, soweit preisgegeben, sinngemäß angelegt und mit der Anweisung

01.
Update tabelle1 t set stundengesamt= t.norm+ t.[25%]+t.[40%]+ t.norm;
das Feld Stundengesamt aktualisiert. Gibt es irgendwelche Details, die wir noch wissen sollten zu deiner Tabelle???

b) Abgesehen davon beiße ich mir schon seit gestern auf die Zunge:
WOZU brauchst du denn das redundante Feld "Stundengesamt" in der Tabelle?
Ein
01.
 [create view View4711 as] *<i>siehe Anmerkung unten</i> 
02.
SELECT  t.[25%], t.[40%], t.Norm, t.Norm+ t.[25%]+t.[40%]+ t.norm AS AlleStunden 
03.
FROM Tabelle1 t;
würde doch das gleiche bringen und ist auf jeden Fall widerspruchsfreier.
Nun sag nicht, das diese Addier-Aktionen Zeit kosten....

Frank / der Biber aus Bremen
[Edit] *Anmerkung: Ok, ich habs erst später gemerkt: MS-Access ist noch nicht ganz soweit, dass sich da VIEWs anlegen lassen.
Vielleicht später, wenn Windows 256-Bit-Architektur hat.
Also bleibt das "create view view4711" leider virtuell. However, trotzdem ist kein redundantes (errechnetes) Feld "Gesamtstunden" nötig, dafür reichen sogar die dreieinhalb zur Verfügung stehenden Access-SQL-Befehle.
Habe das erste Mal (seit Access97) wieder ein Access aufgehabt - und ganz naiv in der Hilfe nach "SQL" gesucht. Wollte nur wissen, an welche SQL-Norm die M$-Praktikanten sich anlehnen. Na ja... ein bisschen dünn ist das aber ja schon... *lach*. Was kostet denn so ein Access eigentlich? *breitgrinst* [/Edit]
Bitte warten ..
Mitglied: Falkster
21.09.2005 um 16:00 Uhr
hi biber,

danke schonmal
probier das morgen aus.

Bitte warten ..
Mitglied: Biber
21.09.2005 um 16:01 Uhr
@Falkster
Wie, morgen?
der Arbeitstag hat doch noch 8 Stunden exclusive Teepausen?
Bitte warten ..
Mitglied: 16640
22.09.2005 um 08:10 Uhr
Ich verfolge das gespannt weiter. Nebenbei: was für ein Zahlenformat haben denn die Spalten? Wenn Du in der Tabellendefinition bist, wählst Du oben den Feldtyp ('Zahl' bspw.) und unten dann die Art, um welche Zahl es sich handelt. Kannst Du mal da die genauen Einstellungen posten? Thx.

dba
Bitte warten ..
Mitglied: Falkster
22.09.2005 um 08:47 Uhr
hi dba!

..also:

feldgröße: long integer
dezimalstellenanzeige: automatisch
standardwert: 0
eingabe erforderlich: nein
indiziert: nein

brauche ich bestimmte formate für "zahl" um damit rechnen zu können?

@ biber: habe das ausprobiert, und mir mit "AS" also eine spalte für die summe angelegt, sie bleibt nur leer, was meintest du mit dem "bleibt leider virtuell"????
Bitte warten ..
Mitglied: 16640
22.09.2005 um 09:25 Uhr
Hi Falkster,

und Du bist der Ansicht, dass Du in ein Feld mit einem Datentyp Long Integer und logischerweise 0 Dezimalstellen Stunden und deren Bruchteile erfassen kannst? Oder arbeitet ihr nur ganze Stunden?

Und jetzt mal eine ganz banale Frage von mir: Hast Du in deinen Spalten Norm, 25% und 40% auch was drin stehen, oder sind die leer? Könntest Du mal ein paar Zeilen aus der Tabellenanzeige hier aufführen? Das würde helfen.

Zu Bibers Erläuterung: Du hast mit dem 'AS' keine Spalte in Deiner Tabelle angelegt, sondern nur die Resultatspalte des SQL-Statements mit einem Namen versehen. Abfragen werden erst zum Zeitpunkt des Aufrufes ausgeführt und holen die dann aktuellen Daten aus den Tabellen um sie anzuzeigen oder anderen Accesskomponenten zur Verfügung zu stellen.

dba
Bitte warten ..
Mitglied: Biber
22.09.2005 um 09:36 Uhr
@Falkster

Die Spieltabelle tabelle1, die ich angelegt habe sieht so aus:
--
stundengesamt, Zahl (Also Default: Long Integer, nix geändert)
25%, Zahl, dito
40%, Zahl, dito
Norm,Zahl. dito
---
Eingegebener Satz:
"25%": 44
"40%": 33
norm: 11
--> nach dem "Update" oben habe ich wie erwartet 88 im Feld "Stundengesamt"

Mit "virtuell " meinte ich nur: ich kann leider im Access nicht mal einen View, also eine bestimmte Sicht auf eine Tabelle anlegen - normalerweise hätte ich von einen Programm jenseits der 19.95-Euro-Grenze das schon erwartet.

Von daher kann ich zwar in Gedanken das zweite Select-Statement als View bezeichnen ("virtuell"), aber ich kann es nicht hinterlegen. Oder ich habs nicht gefunden in Access.

Warum bei Dir das Feld leer bleibt, kann ich nicht nachvollziehen.
Bitte warten ..
Mitglied: Falkster
22.09.2005 um 10:59 Uhr
danke für soviel hilfe leute!!!!!

..nun hab ich was gefunden...

warum dürfen die felder nicht "leer" sein????? wenn alle
spalten einen wert
haben gehts...

gruß
Bitte warten ..
Mitglied: 16640
22.09.2005 um 11:07 Uhr
Hallo Falkster,

naja, eine leere numerische Spalte sollte zumindest eine '0' enthalten, oder?

Ich frag' mich nur, wie Du das hinbekommen hast ...


dba
Bitte warten ..
Mitglied: Biber
22.09.2005 um 11:16 Uhr
@16640
Hätte wir eher gemerkt, wenn wir ein
01.
...where t.[25%]+t.[40%]+ t.norm > 0 
angegeben hätten. Wir sollten das Ganze eben ernster nehmen.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
Access Verknüpfte Tabellen Passwort ändern

Frage von mijacd zum Thema Microsoft Office ...

VB for Applications
gelöst Access: Spalten ist Anzahl Wenn größer NULL (11)

Frage von Pilger83 zum Thema VB for Applications ...

Virtualisierung
gelöst Interne Netzwerke untereinander kommunizieren lassen (9)

Frage von chelewae zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...