Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Parameterwert festlegen
zurück: Abfrage mit Beziehungen weiter: Tabellenwert mit Abfrage berechnen und speichern Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Kurzum
Gast


Verfasst am:
30. Sep 2008, 11:11
Rufname:

Parameterwert festlegen - Parameterwert festlegen

Nach oben
       Version: Office 2003

Hallo!

Ich muss an einer Access-Datenbank arbeiten, die leider nicht ideal konzipiert ist. 1 Tabelle beinhaltet Maschinen, 1 andere Motoren. Einer Maschine können 0-2 Motoren zugeordnet sein.

Mein Problem: Ich brauche alle Motoren zu einer Maschine in einem Datensatz, also zeilenweise. Da maximal 2 Motoren möglich sind, habe ich versucht, das über eine zwischengeschaltete Abfrage mit "Erster Wert" und "Letzter Wert" zu lösen (bezogen auf die Seriennummer des Motors). Funktioniert.

Alles was mir noch fehlt ist eine Spalte mit der Anzahl der Motoren, die dieser Maschine zugeordnet sind. Dies habe ich in derselben Abfrage mit einer weiteren Spalte und wenn-dann-Funktionen bezogen auf "Erster Wert" und "Letzter Wert" der Motorseriennummer gelöst. Funktioniert im Prinzip auch.

Einziges Problem: bei jedem Öffnen der Tabelle erscheint jetzt das Popup "Parameterwert eingeben". Wenn ich dort den Namen der entsprechenden Spalte für "Erster Wert" und "Letzter Wert" von der Motorseriennummer eingebe ist alles in Ordnung. Das Problem scheint also irgendwie der Bezug auf "Erster Wert" und "Letzter Wert" zu sein, eine weitere Zwischenabfrage auf diese Felder hat dasselbe Problem produziert.

Wie kann ich die Spalte der Motorseriennummer als Parameterwert festlegen, so dass ich nicht bei jedem Öffnen danach gefragt werde?
Stefffano
Dazugelernt


Verfasst am:
30. Sep 2008, 12:50
Rufname:
Wohnort: Chemnitz


AW: Parameterwert festlegen - AW: Parameterwert festlegen

Nach oben
       Version: Office 2003

Hallo,

wie wäre es, die Motoren-Felder der Abfrage auf Null (oder 0 oder ""(Leerstring - hängt vom Datentyp und evtl. Standartwertes Deines Tabellenfeldes ab) zu prüfen und anhand des Ergebnisses (ob Feld Null, 0 oder "" ist) dann die Anzahl zu ermitteln?
Ist allerdings etwas umständlich.
Wenn Du an der Struktur der Datenbank etwas ändern kannst, würde ich das auf jeden Fall machen.

Schöne Grüße,

Stefan
Gast



Verfasst am:
30. Sep 2008, 14:35
Rufname:

AW: Parameterwert festlegen - AW: Parameterwert festlegen

Nach oben
       Version: Office 2003

Hallo Stefffano!

Danke für die Antwort! Die Umstrukturierung der Tabellen ist leider im Moment überhaupt nicht drin, das war auch mein erster Gedanke...

Leider ist Dein Vorschlag genau der Weg, den ich versucht habe zu erklären. Diese kann sich nur auf die Motorseriennummer beziehen, da in derselben Maschine häufig exakt die gleichen Motoren verbaut wurden (somit sind die Felder Hersteller, Typ, Baujahr, Leistung etc gleich).

Im Moment sieht der Ausdruck so aus:
Code:
Wenn([ErsterWertvonSN] Ist Null;0;Wenn([ErsterWertvonSN]=[LetzterWertvonSN];1;2))
Kann ich da nicht irgendwo festlegen, wo die Parameterwerte für SN liegen?
Willi Wipp
Moderator


Verfasst am:
30. Sep 2008, 14:48
Rufname:
Wohnort: Raum Wiesbaden

Re: Parameterwert festlegen (II) - Re: Parameterwert festlegen (II)

Nach oben
       Version: Office 2003

Hi Kurzum,
MS in der OH hat folgendes geschrieben:
Bemerkungen
Die Funktionen First und Last sind analog zu den Methoden MoveFirst und MoveLast eines DAO-Recordset-Objekts. Es wird einfach der Wert eines angegebenen Feldes im ersten oder letzten Datensatz zurückgegeben, und zwar aus der Ergebnismenge einer Abfrage. Da Datensätze gewöhnlich in keiner bestimmten Reihenfolge zurückgegeben werden (solange die Abfrage keine ORDER BY-Klausel enthält), sind die Datensätze, die durch diese Funktionen zurückgegeben werden, nicht näher bestimmt.
==> Der zurueckgegebene Wert bei First und Last ist eher als zufaellig zu betrachten.
Gilt natuerlich auch fuer DLast und DFirst.
==> Du solltest die Eckwerte via Max z.B. auf das Datum ermitteln.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Kurzum
Gast


Verfasst am:
30. Sep 2008, 14:59
Rufname:


AW: Parameterwert festlegen - AW: Parameterwert festlegen

Nach oben
       Version: Office 2003

Hallo Willi Wipp!

Erstmal danke für die schnelle Antwort, und ein kleines Entschuldigung an die Moderation dafür, dass ich bei dem Beitrag von 14.35 Uhr meinen Nutzernamen vergessen habe.

Leider verstehe ich die Antwort nicht. Es sind nur technische Daten zum Motor in der Tabelle vorhanden, kein Datum. Diese technischen Daten unterscheiden sich innerhalb einer Maschine häufig nur durch die Seriennummer des Motors.

Min-Max hat mir auch nicht geholfen, da die Motornummer häufig auch Buchstaben und Sonderzeichen enthält, welche Access scheinbar nicht sortieren kann. In welcher Reihenfolge die Motorseriennummern erscheinen ist hingegen eher unwichtig, ich müsste nur zu jeder Maschine die Daten der verbauten Motoren haben, sowie die Anzahl.
Willi Wipp
Moderator


Verfasst am:
30. Sep 2008, 16:26
Rufname:
Wohnort: Raum Wiesbaden

Re: Parameterwert festlegen (III) - Re: Parameterwert festlegen (III)

Nach oben
       Version: Office 2003

Hi Kurzum,

Annahme: Du hast 2 verschiedene Seriennummer (SN) in 3 Datensaetzen zu einer Maschiene.
Dann kann es mit Last und First passieren das Du 2mal die gleiche SN erwischst und nicht die andere SN.
Mit Min und Max erwischst Du auf jeden Fall 2 unterschiedliche SN egal wie sortiert wird Wink

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Kurzum
Gast


Verfasst am:
01. Okt 2008, 10:46
Rufname:

AW: Parameterwert festlegen - AW: Parameterwert festlegen

Nach oben
       Version: Office 2003

Hi Willi Wipp!

Theoretisch hast Du recht, aber es gibt maximal 2 Datensätze pro Maschine (0-2 Motoren), und somit taucht dieses Problem mit First/Last nicht auf. Min/Max funktioniert überhaupt nicht, da Sonderzeichen und Zahlen-Buchstabenkombinationen von Access scheinbar nicht sortiert werden können (12bg3h3t-6g9srt500*).

Das Problem mit den Seriennummern habe ich also zu meiner Zufriedenheit gelöst. Lediglich die Anzahl der Motoren macht Ärger, aber auch nicht weil sie nicht funktioniert, sondern weil man jedes Mal als Parameterwert das Feld "Motorseriennummer" angeben muss. Das würde ich gerne irgendwo in der Formel irgendwie als Parameter für FirstMotorseriennummer und LastMotorseriennummer festlegen, damit die Eingabe nicht immer vom Enduser gemacht werden muss...
Willi Wipp
Moderator


Verfasst am:
01. Okt 2008, 11:55
Rufname:
Wohnort: Raum Wiesbaden

Re: Parameterwert festlegen (IV) - Re: Parameterwert festlegen (IV)

Nach oben
       Version: Office 2003

Hi Kurzum,

zeig bitte mal den SQL-Code der Abfrage und einige anonymisierte DS die das Problem mit Min und Max zeigen.
Da ist mir bisher nichts aufgefallen!
Die Abfrage
Code:
SELECT Min(DeinText) AS MinvonDeinText, Max(DeinText) AS MaxvonDeinText
FROM   DeineTabelle
liefert bei mir mit dem Daten
Code:
12bg3h3t-6g9srt500*
12bg3h3t-6g9srt501*
dann
Code:
MinvonDeinText          MaxvonDeinText
12bg3h3t-6g9srt500*     12bg3h3t-6g9srt501*

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Kurzum
Gast


Verfasst am:
01. Okt 2008, 12:37
Rufname:

AW: Parameterwert festlegen - AW: Parameterwert festlegen

Nach oben
       Version: Office 2003

Hallo Willi Wipp,

ich gebe kleinlaut zu, dass ich das Problem nicht mehr nachstellen kann, Deine Version funktioniert. Ich weiß noch, dass ich in der Anfangsphase mit Min/Max experimentiert habe und irgendetwas da nicht funktioniert hat. Vermutlich war das aber dann ein Problem mit einer anderen Funktion, das ich nur falsch zugeordnet habe...

Min/Max generiert aber dasselbe Problem mit der Parameterabfrage. Hier mal der Code:
Code:
SELECT   Min(Hersteller) AS MinvonHersteller, Max(Hersteller) AS MaxvonHersteller,
         Min(Typ) AS MinvonTyp, Max(Typ) AS MaxvonTyp,
         Min(Bj) AS MinvonBj, Max(Bj) AS MaxvonBj,
         Min(Leistung) AS MinvonLeistung, Max(Leistung) AS MaxvonLeistung,
         Min(LeistEinh) AS MinvonLeistEinh, Max(LeistEinh) AS MaxvonLeistEinh,
         Min(SN) AS MinvonSN, Max(SN) AS MaxvonSN, Masch, Art,
         IIf([MinvonSN] Is Null,0,IIf([MinvonSN]=[MaxvonSN],1,2)) AS [PARAMETERS]
FROM     Motor
GROUP BY Masch, Art, IIf([MinvonSN] Is Null,0,IIf([MinvonSN]=[MaxvonSN],1,2))
Willi Wipp
Moderator


Verfasst am:
01. Okt 2008, 12:55
Rufname:
Wohnort: Raum Wiesbaden


Re: Parameterwert festlegen (IV) - Re: Parameterwert festlegen (IV)

Nach oben
       Version: Office 2003

Hi Kurzum,

Du bist Dir bewusst das auch hier die Min-Werte nicht zwingend zu einem DS gehoeren, oder?
Glaube zwar nicht das das so funktioniert, aber Du kannst es ja mal versuchen Wink
Code:
SELECT   Min(Hersteller) AS MinvonHersteller, Max(Hersteller) AS MaxvonHersteller,
         Min(Typ) AS MinvonTyp, Max(Typ) AS MaxvonTyp,
         Min(Bj) AS MinvonBj, Max(Bj) AS MaxvonBj,
         Min(Leistung) AS MinvonLeistung, Max(Leistung) AS MaxvonLeistung,
         Min(LeistEinh) AS MinvonLeistEinh, Max(LeistEinh) AS MaxvonLeistEinh,
         Min(SN) AS MinvonSN, Max(SN) AS MaxvonSN, Masch, Art,
         IIf(Min(SN) Is Null,0,IIf(Min(SN)=Max(SN),1,2)) AS [PARAMETERS]
FROM     Motor
GROUP BY Masch, Art, IIf(Min(SN) Is Null,0,IIf(Min(SN)=Max(SN),1,2))
Ich denke man muss die Min-Werte und Max-Werte zumindest fuer SN in einer Extra-Abfrage bestimmen.
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: In Textfeld eine Vorgabe für die Eingabe festlegen 2 partymaniac 109 12. Jan 2014, 18:04
Nouba In Textfeld eine Vorgabe für die Eingabe festlegen
Keine neuen Beiträge Access Tabellen & Abfragen: altes Problem Parameterwert Abfrage 1 prrm 192 08. Apr 2011, 14:45
Gast altes Problem Parameterwert Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterwert aus Abfrage oder "wie *" 2 PC-Fuchs 201 01. Feb 2010, 12:21
PC-Fuchs Parameterwert aus Abfrage oder "wie *"
Keine neuen Beiträge Access Tabellen & Abfragen: Aktuelles Datum dauerhaft festlegen 3 pumuckel_16 1105 23. Sep 2008, 11:32
KlausMz Aktuelles Datum dauerhaft festlegen
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterwert 0 Gast007 306 18. März 2008, 10:14
Gast007 Parameterwert
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterwert??? 4 booda 495 11. Feb 2008, 10:24
booda Parameterwert???
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterwert eingeben auf anderen Rechnern 4 Gast 1128 24. Nov 2007, 14:34
Gast Parameterwert eingeben auf anderen Rechnern
Keine neuen Beiträge Access Tabellen & Abfragen: AutoWert - Startwert festlegen 1 dakloese 4679 22. Jun 2007, 11:58
steffen0815 AutoWert - Startwert festlegen
Keine neuen Beiträge Access Tabellen & Abfragen: parameterwert eingeben fenster 2 marcusf86 702 20. Mai 2007, 04:37
derArb parameterwert eingeben fenster
Keine neuen Beiträge Access Tabellen & Abfragen: Standardwert richtig festlegen 13 daflowjoe 1022 12. Sep 2006, 14:45
rita2008 Standardwert richtig festlegen
Keine neuen Beiträge Access Formulare: Linienbreite dynamisch festlegen (ctl.width) 2 Torst 905 30. Jan 2006, 11:17
Torst Linienbreite dynamisch festlegen (ctl.width)
Keine neuen Beiträge Access Tabellen & Abfragen: Fenstertitel "Parameterwert eingeben" ändern 6 Baumi_II 3643 30. Nov 2005, 23:51
Gast Fenstertitel "Parameterwert eingeben" ändern
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen