MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 08.02.2018, 00:14   #1
Stadtbub
MOF User
MOF User
Standard Acc2013 - Kniffliges Problem....

Hallo liebe Forengemeinde,

ich habe folgendes Problem :

Ich habe eine Abfrage qryStatus1, welche iso in der SQL -Ansicht aussieht :

Code:

SELECT tblEinsatzFahrzeuge.MeldeDatum, Last(tblEinsatzFahrzeuge.MeldeZeit) AS LetzterWertvonMeldeZeit, tblFahrzeuge.Funkruf, tblFahrzeuge.Fahrzeug, tblStatusFahrzeuge.Status
FROM tblStatusFahrzeuge INNER JOIN (tblFahrzeuge INNER JOIN tblEinsatzFahrzeuge ON tblFahrzeuge.[FahrzeugID] = tblEinsatzFahrzeuge.[FahrzeugID_F]) ON tblStatusFahrzeuge.[StatusID] = tblEinsatzFahrzeuge.[StatusID_F]
GROUP BY tblEinsatzFahrzeuge.MeldeDatum, tblFahrzeuge.Funkruf, tblFahrzeuge.Fahrzeug, tblStatusFahrzeuge.Status
HAVING (((tblStatusFahrzeuge.Status) Like "Einsatzbereit Unterwegs"));
Ich habe ein ungebundenes Formular erstellt - UFO_Status1, welches die Felder "Fahrzeug" "Status" "LetzterWertvonMeldeZeit" beinhaltet. In dieses Formular solle lediglich das dargestellt werden, was den Status "Einsatzbereit Unterwegs" hat. Sobald sich der Status des Fahrzeuges ändert, soll auch in dem Fenster nichts mehr stehen. Das soll sozusagen dnamisch sein. Ich bekomme es zwar hin, das mit der "Einsatzbereit Unterwegs" Status angezeigt wird aber das wars auch schon

Evtl wäre das Ganze auch als Listenfeld Toll !

Hat jemand eine Idee ?
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 01:50   #2
Nouba
MOF Guru
MOF Guru
Standard

Wieder jemand, der die Zeit vom Datum abschneidet. Das erschwert das Abfragen und verhindert zuverlässig eine Indexnutzung. Wenn ein bestimmter Status abgefragt wird, muss dieser doch nicht auch noch in der Feldauswahl stehen - oder?. Dann genügt es auch, die ID (4711) für den Fremdschlüssel des Status anzugeben.
Code:

SELECT f.Fahrzeug,
       f.Funkruf,
       q.Letzter_MeldeZeitpunkt
FROM   ( SELECT Max (MeldeDatum) + Max(MeldeZeit) AS Letzter_MeldeZeitpunkt,
                FahrzeugID_F
         FROM   tblEinsatzFahrzeuge
         WHERE  StatusID_F = 4711
         GROUP  BY FahrzeugID_F ) AS q
       INNER JOIN tblFahrzeuge AS f
               ON f.FahrzeugID = q.FahrzeugID_F;
Diese Abfrage kann als Datensatzherkunft für ein Listenfeld oder als Datensatzquelle eines Formulars (in Endlos- oder Datenblattansicht) verwendet werden. Wenn neue Daten in tblEinsatzFahrzeuge eintreffen (eingetragen wurden), kann man entweder auf das Listenfeld oder auf das Formular ein Requery absetzen.

Sollte das Unterformular bzw. Listenfeld in Abhängigkeit einer FahrzeugID angezeigt werden, genügt es, die innere Abfrage (die innerhalb der runden Klammern) zu verwenden und eine Verknüpfung zur FahrzeugID des Hauptdatensatzes herzustellen - aber das ist ja bestiummt nicht der Fall, wenn auch der Funkruf zur Ansicht gebracht wird.
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 02:05   #3
Stadtbub
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Nouba,

vielen Dank - leider klappt das nicht.

Ich habe den Code so verwendet und das Formular entsprechend angepasst.
Sobald ich das Fahrzeug von "Einsatzbereit Unterwegs" zu z.B. "Ausser Dienst" wechsel, bleibt im Formular weiterhin das Fahrzeug mit "Einsatzbereit unterwegs" stehen .... auch ein Requery bringt nichts. In der Abfrage bleibt das Fahrzeug auch in diesm Status stehen...
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 05:14   #4
Nouba
MOF Guru
MOF Guru
Standard

Im Notfall muss man zu härteren Methoden greifen.
Code:

   'wenn
   Me.UFO_Status1.Form.Requery
   'nicht wirkt
   'versuche
   With Me.UFO_Status1.Form
      .RecordSource = .RecordSource
   End With
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 20:24   #5
Stadtbub
Threadstarter Threadstarter
MOF User
MOF User
Standard

Äh...

Sorry ich kapiers nicht

Erkläre es einfach für einen Dummen bitte....

Dies ist hinter dem Button zusätzlich hinterlegt :

Code:

Private Sub btnNeuerDS_Click()
Dim db As DAO.Database, rs As DAO.Recordset
Dim Pruefung As String
Pruefung = Abs(IsNull(Me.cboFahrzeug)) & Abs(IsNull(Me.cboStatus)) & Abs(IsNull(Me.txtDatum)) & Abs(IsNull(Me.txtZeit))
If Pruefung <> "0000" Then
MsgBox "Es sind nicht alle Felder ausgefüllt"
Exit Sub
End If
Set db = CurrentDb
Set rs = db.OpenRecordset("tblEinsatzFahrzeuge", dbOpenDynaset)
rs.AddNew
rs!EinsatzID_F = Me.Parent.EinsatzID
rs!FahrzeugID_F = Me.cboFahrzeug
rs!StatusID_F = Me.cboStatus
rs!MeldeDatum = Me.txtDatum
rs!MeldeZeit = Me.txtZeit
rs!EinsFahrzMeldung = Me.txtMeldung
rs!Staerkemeldung1 = Me.S1
rs!Staerkemeldung2 = Me.S2
rs.Update
Me.Requery
rs.Close: Set rs = Nothing: Set db = Nothing
Me.cboFahrzeug = Null: Me.cboStatus = Null: Me.txtDatum = Null: Me.txtZeit = Null: Me.txtMeldung = Null: Me.S1 = Null: Me.S2 = Null
Me.Parent.Liste99.Requery
Me.Parent!Einsatztabelle.Requery
Me.Recalc
Me.cboFahrzeug.SetFocus
With Me.UFO_Status1.Form
.RecordSource = .RecordSource
End With

End Sub
Mit dem Code als letztes kommt die Fehlermeldung :

Methode oder Datenobjekt nicht gefunden
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 20:44   #6
Nouba
MOF Guru
MOF Guru
Standard

Ein Unterformular ist ein Steuerelement mit Namen, der richtig angegeben werden muss. Der Name kann, muss aber nicht gleichlautend mit dem Namen des darin beherbergten Formulars sein. Kannst Du das das einmal überprüfen?

Code:

Private Sub btnNeuerDS_Click()

   If IsNull(Me.cboFahrzeug) Or IsNull(Me.cboStatus) Or _
      IsNull(Me.txtDatum) Or IsNull(Me.txtZeit) Then

      MsgBox "Es sind nicht alle Felder ausgefüllt"
      Exit Sub

   End If

   With CurrentDb.OpenRecordset("tblEinsatzFahrzeuge", dbOpenDynaset, dbAppendOnly)

      .AddNew
      !EinsatzID_F = Me.Parent.EinsatzID
      !FahrzeugID_F = Me.cboFahrzeug
      !StatusID_F = Me.cboStatus
      !MeldeDatum = Me.txtDatum
      !MeldeZeit = Me.txtZeit
      !EinsFahrzMeldung = Me.txtMeldung
      !Staerkemeldung1 = Me.S1
      !Staerkemeldung2 = Me.S2
      .Update
      .Close

   End With

   Me.cboFahrzeug = Null
   Me.cboStatus = Null
   Me.txtDatum = Null
   Me.txtZeit = Null
   Me.txtMeldung = Null
   Me.S1 = Null
   Me.S2 = Null

   'Vermutlich genügt
   'Me.Parent.Requery

   Me.Parent.Liste99.Requery
   Me.Parent.Einsatztabelle.Requery

   'ist das wirklich nötig?
   Me.Requery
   'und das auch?
   Me.Recalc

   Me.cboFahrzeug.SetFocus

   'entweder
   Me.NameDesUnterformularsteuerelements.Form.Requery
   'wenn's nicht hilft, dann
   'With Me.NameDesUnterformularsteuerelements.Form
   '   .RecordSource = .RecordSource
   'End With

End Sub

Geändert von Nouba (08.02.2018 um 20:55 Uhr).
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 21:30   #7
Stadtbub
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo,

also das Formular heißt definitiv "UFO_Status1"....

erfindet es aber nicht ? :/
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 21:40   #8
Maxel
MOF Guru
MOF Guru
Standard

Zitat: von Stadtbub Beitrag anzeigen

also das Formular heißt definitiv "UFO_Status1"

Wie das Formular heißt, ist uninteressant.

Wie heißt das Unterformular-Steuerelement im Formular? Den Namen kriegst Du raus, wenn Du im Formularentwurf auf das Unterformular-Steuerlement klickst und mit der rechten Maustaste das Kontextmenü aufrufst. Dort siehst Du dann in der Eigenschaft Name den gesuchten Begriff.

__________________

Viele Grüße von Maxel

Nie aufhören anzufangen,
nie anfangen aufzuhören!
Maxel ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 22:17   #9
Stadtbub
Threadstarter Threadstarter
MOF User
MOF User
Standard

Im Formular UFO_Status1 gibt es folgende Sachen (ich blick nicht mehr ganz durch was ihr meint -.-)

2 Überschriftsfelder : Fahrzeug, Zeit
und 2 gebundene Textboxen "Fahrzeug" und "Letzter_MeldeZeitpunkt"

Ich sollte dazusagen, das der Button, welchen ich oben gepostet habe in einem anderen Unterformular "frmEinsatzErfassungUfoFahrzeuge" ist....
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 22:30   #10
Nouba
MOF Guru
MOF Guru
Standard

Dann setz' noch ein Parent hinter das Me.

PS: wenn Eure Einsatzbeschreibungen auch so präzise ausfielen, wie Deine Problembeschreibung hier, würdet ihr nie zum Einsatzort gelangen.

Geändert von Nouba (08.02.2018 um 22:34 Uhr).
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 22:42   #11
Stadtbub
Threadstarter Threadstarter
MOF User
MOF User
Standard



Und der nächste Fehler :

So suiehts jetzt aus : Me.Parent.Fahrzeug.Form.Requery

und der Fehler kommt :

Laufzeitfehler 2465 - Anwendungs oder objektdefinierter Fehler
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 23:07   #12
Nouba
MOF Guru
MOF Guru
Standard

Heißt denn das Unterformularsteuerelement nun plötzlich Fahrzeug?
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 23:44   #13
Stadtbub
Threadstarter Threadstarter
MOF User
MOF User
Standard

Ja... das Textfeld ist ja verknüpft mit dem Feld "Fahrzeug" aus der Abfrage "ryTest", welche ich mit deinem Code oben angelegt habe....

Das UFO_Tatus1 hat folgende Eigenschaften :

Datensatzquelle qryTest1
Tetxtfeld "Fahrzeug" hat als Steuerelementinhalt "Fahrzeug"
Textfeld "Letzter_MeldeZeitpunkt" halt als Steuerelementhinhalt "Letzter_MeldeZeitpunkt"


Ist es egal welches ich von den Steuerelementen nehme im Code ?

Geändert von Stadtbub (08.02.2018 um 23:48 Uhr).
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 23:57   #14
Stadtbub
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hab es jetzt so :
Me.Parent.UFO_Status1.Form.Requery

Jetzt bin ich wieder am Anfang meines Thread´s ....
subform wird mir jetzt zwar das Fahrzeug im Status 1 angezeigt aber sobald ich den Status wechsele, verschwindet es nicht aus dem Subform sondern bleibt mit dem Status 1 dort stehen -.-

Vermutlich ist das was ich brauche, mit Access nicht umzusetzen ?
Stadtbub ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 00:08   #15
Nouba
MOF Guru
MOF Guru
Standard

... und was ist mit der 2. Form?
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.