Hallo zusammen,
ich verzweifele fast, aber…
wie kann ich Bruchzahlen innerhalb einer Tabelle eingeben und darstellen. Mein Handbuch verweigert mir die Auskunft, Ichn habe die 97er Access-version.
Bitte, bitte, um Antwort.
Richard
Hallo.
wie kann ich Bruchzahlen innerhalb einer Tabelle eingeben und
darstellen.
In numerischer Form geht das in Access gar nicht. Da geht nur Ganzzahl- und Gleitkommaarithmetik. Du könntest natürlich in Deine Tabelle zwei Integer-Felder „Zähler“ und „Nenner“ bauen und dann in einem Formular, mit einem Strich getrennt, als Bruch darstellen sowie ein Double-Feld „Ergebnis“ mit der Formel „=[Zähler]/[Nenner]“ erzeugen. Das würde dann aber wieder als Dezimalbruch dargestellt.
Es kann natürlich sein, dass sich bereits jemand mit dem Problem befasst und eine Lösung gestrickt hat. Mir ist diesbezüglich aber nix bekannt (was nix heißen will); derdiedasjenige müsste sich m.E. einer Schnittstelle zu einer Sprache bedient haben, die so was kann.
Andere Möglichkeiten wären über OLE denkbar - Excel z.B. kann Brüche darstellen und auch damit rechnen. Aber hier müsste man die entsprechende Excel-Funktion in eine Prozedur/Funktion einbauen, Verweise setzen etc.pp. Das ist nicht untückisch.
Gruß Eillicht zu Vensre
Hallo Richard
Ich sehe nur zwei Möglichkeiten:
- als Text mit Eingabeformat 0"/"0
Nachteile: Man kann nicht mehr rechnen und muß vorher wissen wieviele Stellen der Zähler und der Nenner jeweils haben können - Zähler und Nenner jeweils als einzelnes Feld (z.B. jeweils mit dem Format Long Integer)
In der Darstellung im Formular oder Bericht kann man dann den Bruchstrich ja als Bezeichnungsfeld zwischen den beiden Feldern einfügen.
Solltest du den Bruch sofort zum Weiterrechnen brauchen kann man ja ein drittes Feld (Format double) für das Ergebnis einfügen, das jeweils nach Aktualisierung von Zähler oder Nenner berechnet wird.
z.B. mit
Private Sub nenner_AfterUpdate()
If isnull(me.nenner) Then Goto 10
me.ergebnis = me.zaehler / me.nenner
10 End Sub
Gruß Matthias
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
pardon,
ich habe vergessen zu erwähnen, dass diese bruchzahl nur dargestellt werden soll, weil die einzugebenden zahlen nun mal bruchzahlen sind. ich will aber nicht damit rechnen, sondern die zahlen nur entsprechend schreiben.
richard
Hallo.
Ich hoffe mal, dass Du entweder einen schwachen Moment hattest oder aber nur für den Hausgebrauch programmierst
Private Sub nenner_AfterUpdate()
If isnull(me.nenner) Then Goto 10
me.ergebnis = me.zaehler / me.nenner
10 End Sub
If ohne End If, Goto verwendet, me.nenner (Formulareigenschaft) statt Me!Nenner (Feld) oder einfach nur Nenner, 0 als Nenner nicht abgefangen … nicht als Lehrbuchbeispiel zu verwenden, es sei denn als abschreckendes.
Private Sub Nenner\_Exit(Cancel As Integer)
If ((Nenner=0) Or (IsNull(Nenner)) Then
Cancel=True
Nenner.Undo
Else
Ergebnis=Zähler / Nenner
End If
End Sub
gefällt mir einfach besser. Nothing for ungood …
Gruß Eillicht zu Vensre
ich will aber nicht damit rechnen, sondern die zahlen nur
entsprechend schreiben.
Ja, dann mach es so, dass Du Zähler und Nenner in getrennte Felder schreibst, und den Bruchstrich dazwischen malst. Das ist nicht sehr schwierig - bei kurzer Mehl kommt kurzes Beispiel …
Gruß Eillicht zu Vensre
Na, wenn schon:
Private Sub Nenner\_Exit(Cancel As Integer)
If NZ(Me!Nenner,0) = 0 Then
Cancel=True
Me!Nenner.Undo
end if
End Sub
Private Sub Nenner\_AfterUpdate()
Me!Ergebnis=Me!Zaehler/Me!Nenner
End sub
Private Sub Zaehler\_AfterUpdate
Call Nenner\_AfterUpdate
End Sub
aber wenn damit gar nicht gerechnet werden soll, reicht ja auch ein einfaches Textfeld (wobei ich mich mal wieder frage, was das dann überhaupt soll…)
Gruß aus dem Norden
Reinhard Kraasch
(http://www.dbwiki.de - das Datenbank-Wiki)
Sorry
Ihr habt selbstverständlich beide recht.
Es war tatsächlich etwas schnell aus der Hüfte geschossen, aber er braucht es ja gar nicht
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ja, dann mach es so, dass Du Zähler und Nenner in getrennte
Felder schreibst, und den Bruchstrich dazwischen malst. Das
ist nicht sehr schwierig - bei kurzer Mehl kommt kurzes
Beispiel …Gruß Eillicht zu Vensre
hallo eillicht zu vensre,
deine beispiele sind so wunderbar aufbauende.
ich erinnere nochmal, dieses forum dient dazu, unwissende wissend zu machen. auf solche albernen weisheiten kann ich verzichten.
an alle anderen sage ich erst einmal danke für eure beispiele.
ich werde das alles mal durchprobieren. ich hoffe, dass ich damit zurechtkomme.
richard
deine beispiele sind so wunderbar aufbauende.
ich erinnere nochmal, dieses forum dient dazu, unwissende
wissend zu machen. auf solche albernen weisheiten kann ich
verzichten.
Sag mal, was ist Dir denn über die Leber gelaufen? In Deinem ursprünglichen Posting hast Du grundsätzlich gefragt, wie „so etwas“ geht und ich antwortete Dir http://www.wer-weiss-was.de/cgi-bin/forum/showarticl… in der Annahme, Du wollest damit rechnen. Dann sagtest Du, dass Du nicht rechnen, sondern nur Brüche darstellen willst - und das geht tatsächlich so, dass Du Zähler und Nenner getrennt eingibst und den Bruchstrich nur in die Darstellung bringst. Was bitte ist, bezogen auf Deine Fragestellung, daran albern? Verschärft : Wenn Du Dich selbst als unwissend bezeichnest, wieso traust Du Dir zu, beurteilen zu können, was albern ist und was nicht? Nun gut, für Dein qualifiziertes Urteil danke ich hiermit; das erspart es mir, zukünftig weitere Hilfeversuche (ja, es war tatsächlich einer!) zu unterlassen.
an alle anderen sage ich erst einmal danke für eure beispiele.
Du mich auch.
Hi richard,
auf solche albernen weisheiten kann ich verzichten.
lass Dich von kws lockerer Tonart nicht täuschen, Du wirst kaum jemanden finden, der so versiert ist wie er (und sich so viel Mühe gibt). Dein Problem ist anders nicht zu lösen, Brüche existieren nun mal für derartigee Software nicht, da der Schrägstrich als Divisionsbefehl verwurstet wird.
Nebenbei gefragt: Gibt’s überhaupt eine, die das kann?
Gruß Ralf
Hi richard,
hi ralf
lass Dich von kws lockerer Tonart nicht täuschen, Du wirst
kaum jemanden finden, der so versiert ist wie er (und sich so
viel Mühe gibt). Dein Problem ist anders nicht zu lösen,
danke für die info, aber bei mir kam diese info nicht so locker an, so kann man sich manchmal täuschen, ich entschuldige mich.
Brüche existieren nun mal für derartigee Software nicht
Nebenbei gefragt: Gibt’s überhaupt eine, die das kann?
ich weiss es nicht, aber wenn dass das ergebnis ist, dann es doch auch gut, dann weiss ich doch schon mal, dass es bei access nicht geht und ich muss mir eine andere lösung ausdenken, vielleicht ein anderes datenbankprogramm, ich weiss noch nicht.
Gruß Ralf
danke und
gruss richard
Demo verfügbar!
Bei Interesse bitte Mail. Wahlweise 97 oder 2002-Version.
Eillicht zu Vensre
danke,
werde mich mal anderweitig umhören.
richard