Forum: PC-Programmierung Access Datenbank kleine Problemchen


von Burak G. (8chtacht)


Lesenswert?

Hallo Leute,

ich habe ein paar kleine Problemchen. Ich habe diesmal eine nicht sooo 
große Access Datenbank, an der nur zwei Kollegen arbeiten werden. Es 
handelt sich hierbei um eine Datenbank, die beim Verkauf von Autos 
hergenommen wird. Folgende Sache:

1) Ich habe den Betrag "A", welchen der Händler vorschlägt und den 
Betrag "B", welchen der Händler zahlt und bräuchte den Betrag "Delta".
Wie soll ich das jetzt machen? Ich habe in meiner Mastertabelle alle 
drei Spalten, aber bisher wurde Betrag "Delta" immer selber ausgerechnet 
und in das Textfeld eingepflegt. Wie müsste da der VBA Code ausschauen, 
oder gibt es einen anderen Weg, damit das gleich im Feld "Delta" steht, 
sobald man die beiden Beträge eintippt?

2) So ähnlich wie bei 1) ist auch dieses Problem. Ich müsste zwei 
Datumswerte vergleichen und da die Zeitspanne berechnen, wie viel Zeit 
von "Tag A" bis "Tag B" vergangen ist. Es existieren bereits die zwei 
Felder mit dem Format Standartdatum. Aber ein neues Feld mit der 
Durchlaufzeit besteht noch nicht. Soll bzw. muss ich dieses Feld 
"Durchlaufzeit" auch in die Mastertabelle mit ein beziehen, wenn sie nur 
als eine visuelle Darstellung dient?

3) Noch ein Problem mit einem Datum: Ich habe ein Datum "Start" und muss 
mein Datum "Ende" automatisch berechnen lassen. Hierbei soll ich aber 
zuerst gefragt werden, ob die Dauer der Nutzung des Fahrzeuges 2, 4 oder 
6 Jahre ist. Je nach dem dann "Start"+x Jahre als Datum "Ende" ausgeben. 
Auch hier existieren bereits die Felder "Start","Ende" und "Dauer".
Bisschen gegoogled und auf eine Funktion gestoßen, die DateAdd heisst. 
Aber wüsste jetzt nicht, wo ich die Formel einsetzen sollte oder ob es 
einen anderen Weg gibt.

4) Das letzte Problem ist die visuelle Darstellung von all diesen neuen 
Werten anhand von einer Grafik. Geht das auch in Access?


Vielen Dank schon mal für eure Hilfe.
Ich bin froh, dass es dieses Forum gibt, hat mir während meines 
Praktikums bei so manch einer Arbeit viel Zeit erspart! :)

LG

von Peter II (Gast)


Lesenswert?

du kannst bei dem betrag einfach mit dem Spalten rechnen.

select a, b, b-a from verkauf



und auch fürs Datum gibt es passende Funktionen

http://www.techonthenet.com/access/functions/

von Burak G. (8chtacht)


Lesenswert?

> du kannst bei dem betrag einfach mit dem Spalten rechnen.
>
> select a, b, b-a from verkauf
>
>


Also dann nicht im VBA-Editor, sondern in der Entwurfsansicht bei 
Steuerelementinhalt?

von Peter II (Gast)


Lesenswert?

Burak G. schrieb:
> Also dann nicht im VBA-Editor, sondern in der Entwurfsansicht bei
> Steuerelementinhalt?

keine Ahnung wie du mit Access arbeitest. Dort wo man direkt SQL befehle 
schreiben kann.

von lsq oder qsl oder sql oder wie? (Gast)


Lesenswert?

Burak G. schrieb:
> Ich habe diesmal eine nicht sooo
> große Access Datenbank

Wie soll das denn zu verstehen sein?

Du arbeitest mit großen Datenbanken, kannst aber eine Aufgabenstellung, 
die in jedem Datenbankbuch noch vor Ende des Vorworts beantwortet sein 
dürfte, nicht lösen?

Ist das Hausaufgabe für die Ferien oder wie?

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Zeig mal das Stück Code welches jetzt den Wert ausliest.
Machst du das mit Recordset ? VBA in Access ?
Schonmal SQL-Befehle fürs generieren eines Recordset benutzt ?

von Burak G. (8chtacht)


Lesenswert?

lsq oder qsl oder sql oder wie? schrieb:
> Burak G. schrieb:
>> Ich habe diesmal eine nicht sooo
>> große Access Datenbank
>
> Wie soll das denn zu verstehen sein?
>
> Du arbeitest mit großen Datenbanken, kannst aber eine Aufgabenstellung,
> die in jedem Datenbankbuch noch vor Ende des Vorworts beantwortet sein
> dürfte, nicht lösen?
>
> Ist das Hausaufgabe für die Ferien oder wie?

Da ist ja jemand sehr hilfreich mit seinen Antworten.

Hätte ich das Problem selber bewältigen können, hätte ich nicht dieses 
Forum aufgesucht.

von Burak G. (8chtacht)


Lesenswert?

Dennis Heynlein schrieb:
> Zeig mal das Stück Code welches jetzt den Wert ausliest.
> Machst du das mit Recordset ? VBA in Access ?
> Schonmal SQL-Befehle fürs generieren eines Recordset benutzt ?

Würd ich gern aber im Moment existieren diese Werte nicht.
Im Moment werden die Beträge/das Datum händisch eingetragen,
aber das soll geändert werden.
Vieles ist mit Recordset gemacht in VBA und auch SQL, aber weniger 
Codes, mehr Makros heisst die Devise, weil die Leute, die mit dieser 
Datenbank arbeiten kennen sich mit solchen Geschichten sogar noch 
weniger aus als ich und da mein Praktikum zeitlich begrenzt ist und bei 
eventuell danach auftretenden Problemen niemand zur Stelle sein kann, 
sollte die Programmierumgebung möglichst einfach aufgebaut werden.

von T_K (Gast)


Lesenswert?

Burak G. schrieb:
> die mit dieser
> Datenbank arbeiten kennen sich mit solchen Geschichten sogar noch
> weniger aus als ich und da mein Praktikum zeitlich begrenzt ist und bei
> eventuell danach auftretenden Problemen niemand zur Stelle sein kann,
> sollte die Programmierumgebung möglichst einfach aufgebaut werden.

gut gemeinter Rat: nimm Excel dafür her - da muss man zwar mehr manuell 
machen, dafür aber auch nichts von Datenbanken,SQL und VBA verstehen. 
Ergo: wartbarer. Oder um wieviele Autos pro Tag geht es denn?

von Burak G. (8chtacht)


Lesenswert?

Ich würde ja auch sehr gern mit Excel arbeiten, aber ich bin kein 
Revolutionär und darf es auch nicht sein. Bisher haben sie hier mit 
einer Access Datenbank gearbeitet und ich bin nur der PRaktikant und 
habe das zu erledigen was die hier sagen -> folglich: die Datenbank 
verstehen und  verbessern.

von T_K (Gast)


Lesenswert?

gut, dann lass dir doch die datenbank von deinen spezialisten vor ort 
erklären. wenn sie es nicht können, hast du ein argument mehr, es so zu 
machen, dass man es auch versteht...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.