collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 77
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14133
  • stats Beiträge insgesamt: 68384
  • stats Themen insgesamt: 9210
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: "Explorer"  (Gelesen 11283 mal)

Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
"Explorer"
« am: März 29, 2011, 15:17:13 »
Hallo zusammen,

erst mal: ich bin neu! Mit Access bin nicht soo sehr bewandelt aber ein bisschen was versteh ich schon.
Nun ich möchte eine Art Explorer erstellen. D.h. ich möchte ein Formular, mit Listenfeldern. Im ersten Listenfeld sollen Länder aufgeführt werden. Wenn man auf eines klickt, sollen nur die Städte dieses Landes im nächsten Listenfeld erscheinen, gleiches mit Städten und deren Krankenhäuser. Zu guter letzt will ich zu dem Krankenhaus, dass ich auswähle noch einige Daten haben, welche als normale Textfelder dann z.B. unten im Formular erscheinen sollen (kann aber auch anders gelöst werden). Wäre nett wenn ihr mir helft weil ich jetzt schon etwas daran hänge und einfach nicht weiter komm.

Grüße Basti
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23512
Re: "Explorer"
« Antwort #1 am: März 29, 2011, 15:34:29 »
HAllo,


schau mal hier:

http://dbwiki.net/wiki/Access_Beispieldatenbanken


und bei "Kombiauswahl" und "KombiauswahlEndlosform"   ff.


Statt Kombis gehen auch Listenfelder....


Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
Re: "Explorer"
« Antwort #2 am: März 30, 2011, 12:22:00 »
Danke dir! Hat mir sehr geholfen :) noch ein bisschen feinschliff und ein paar Spalten dazu und fertig :) besten Dank!!!
 

Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
Re: "Explorer"
« Antwort #3 am: April 01, 2011, 11:48:24 »
Hallo nochmal,

hab da doch noch mal ein Problem. Der Explorer funktioniert super. Jetzt hab ich noch Textfelder, die sich mit den vorhandenen Infos füllen, sobald man ein Gerät ausgewählt hat. Zusätzlich möchte ich auch noch unten drunter eine Liste mit Loginnamen, Passwörtern, IP Adressen haben.. Hab bereits ein Datenblattformular erstellt. Als Ausgabe bekomm ich es ohne Probleme hin. also als einzelnes Formular, das geöffnet wird und nur die Datensätze zum vorher ausgewählten Gerät anzeigt. Nur wenn ich dieses Formular als Unterformular in den Explorer miteinfüge versteh ich nicht wieso es nicht funktioniert. Was mach ich Falsch?

Private Sub Device_AfterUpdate()
    If Not IsNull(Me!Device) Then
        Me!DeviceID = Me!Device.Column(0)
        Me!Description = Me!Device.Column(1)
        Me!Beschreibung = Me!Device.Column(2)
        Me!Serialnumber = Me!Device.Column(3)
        [frmLoginList]![Login] = Me!Device.Column(7)
        [frmLoginList]![Password] = Me!Device.Column(8)
        [frmLoginList]![IPAddress] = Me!Device.Column(9)
    End If
End Sub

Damit funktioniert zumindest schon mal der Teil von DeviceID bis Serialnumber..

Grüße Basti
 

Offline Maxel

  • Access-User
  • *
  • Beiträge: 77
Re: "Explorer"
« Antwort #4 am: April 01, 2011, 18:19:07 »
Hallo Basti,

evtl. so:

Me!DeinUfo-Steuerelementname.Form!Login = Me!Device.Column(7)
Gruß
Maxel
 

Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
Re: "Explorer"
« Antwort #5 am: April 05, 2011, 17:06:12 »
Danke schön erstmal, hat mir schon mal sehr geholfen :)

nächste Frage:

wie bekomm ich das hin, dass der mir keine Duplikate anzeigt? also die "CityID" wird erst gar nicht angezeigt, sondern nur City.

Private Sub Country_AfterUpdate()
    If Not IsNull(Me!Country) Then
        Me!City.RowSource = _
          "SELECT DISTINCTROW CityID, City FROM qryDevice" & _
          IIf(Me!Country = 0, "", " WHERE CountryID = 0 OR CountryID = " & Me!Country) & " ORDER BY City"
    Else

Es wird allerdings zwei mal Chemnitz angezeigt, wenn ich zwei Datensätze mit Chemnitz habe. Möchte allerdings nur einmal Chemnitz drin stehen haben.

Grüße Basti
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23512
Re: "Explorer"
« Antwort #6 am: April 05, 2011, 18:58:52 »
Hallo,

.
.
"SELECT DISTINCT  City FROM qryDevice" & _
.
.


was ja nun aber ein Datenfehler wäre, wenn für unterschiedliche CityID die gleiche  Stadt vorhanden ist.


Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
Re: "Explorer"
« Antwort #7 am: April 06, 2011, 07:47:58 »
Man muss vielleicht dazu sagen, zB CityID kommt aus der Tabelle tblHospital und ist da ein Kombifeld aus CityID und City aus tblCity, mit zwei Spalten, wobei die erste 0cm breit ist und somit nur "City" angezeigt wird.

"SELECT DISTINCT  City FROM qryDevice" & _
Wenn ich das ganze so schreib, zeigt er mir gar nichts mehr an.


In der Tabelle tblCity gibt es jede Stadt ja auch nur einmal. Nur CityID in der Tabelle tblHospital kann mehrfach vorkommen (logischerweise).
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23512
Re: "Explorer"
« Antwort #8 am: April 06, 2011, 09:28:34 »
Hallo,


Zitat
aus der Tabelle tblHospital und ist da ein Kombifeld aus CityID und City aus tblCity


dann wirf dieses Nachschlagefeld mal ganz schnell aus der Tabelle heraus...


Wie lautet die SQL der Abfrage?


Ansonsten erstell (nach dem Herauswerfen) erneut die Abfrage , füge die beiden Tabellen hinzu und zieh nur "City" aus der Städtetabelle in eine Abfragespalte..




Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
Re: "Explorer"
« Antwort #9 am: April 06, 2011, 09:54:08 »
Naja ist etwas unübersichtlich..

SQL:
SELECT DISTINCT tblDevice.DeviceID, tblDevice.Device, tblDevice.Description, tblDevice.Serialnumber,
tblHospital.HospitalID, tblHospital.Hospital, tblCity.CityID, tblCity.City, tblCountry.CountryID,
tblCountry.Country, tblLogin.LoginID, tblLogin.IWMSIP, tblLogin.IWMSLogin, tblLogin.IWMSPw,
tblLogin.IWMSDBLogin, tblLogin.IWMSDBPw, tblLogin.IWMSSWALogin, tblLogin.IWMSSWAPw,
tblLogin.HISIP, tblLogin.HISLogin, tblLogin.HISPw, tblLogin.PACSIP, tblLogin.PACSLogin,
tblLogin.PACSPw, tblLogin.SP1IP, tblLogin.SP1Login, tblLogin.SP1Pw, tblLogin.SP2IP,
tblLogin.SP2Login, tblLogin.SP2Pw, tblLogin.VNCPw1, tblLogin.VNCPw2, tblLogin.VNCPw3,
tblLogin.ReportServerIP, tblLogin.ReportServerLogin, tblLogin.ReportServerPw, tblLogin.ServicePCIP,
tblLogin.ServicePCLogin, tblLogin.ServicePCPw
FROM (tblCountry RIGHT JOIN (tblCity RIGHT JOIN (tblHospital RIGHT JOIN tblDevice ON
tblHospital.HospitalID = tblDevice.HospitalID) ON tblCity.CityID = tblHospital.CityID) ON
tblCountry.CountryID = tblCity.CountryID) RIGHT JOIN tblLogin ON tblDevice.DeviceID =
tblLogin.LoginID;

Also so einfach kann ich die CityID nicht rauswerfen. Hab ja schließlich die Tabellen tblCountry, tblCity, tblHospital und tblDevice mit den jeweiligen IDs verbunden..

In der Abfrage hab ich es auch schon mit GROUP BY probiert, jedoch erfolglos.

Wie gesagt ich hab nicht so viel Ahnung hiervon. Also bitte einfach wegschauen, wenn ich völligen Müll red :P
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23512
Re: "Explorer"
« Antwort #10 am: April 06, 2011, 14:41:30 »
HAllo,


warum benutzt Du Right-Joins und keine Inner Joins?

"so einfach kann ich die CityID nicht rauswerfen"

sollst Du ja auch nicht, sondern nur die Einstellung  "Nachschlagefeld" ("Kombifeld)" für dieses Tabellenfeld, d. h. in "Textfeld" umwandeln.


Ansonsten sollte

SELECT DISTINCT  City FROM qryDevice

eine "einfache" (kein Stadtname mehrfach) Auflistung von Städtenamen  liefern..


Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
Re: "Explorer"
« Antwort #11 am: April 07, 2011, 08:18:06 »
Guten morgen,

also hab jetzt Inner-Joins verwendet, die ID-Felder als Textfelder und den vba code geändert. Aber wenn ich jetzt ein Land anklicke, werden zwar die richtigen Städte angezeigt, aber wenn ich dann eine Stadt auswähle, möchte er, dass ich für den Name der Stadt einen Parameter eingebe ( 4 Mal ).. Hab wahrscheinlich einfach irgendwas übersehen :-/ wär nett wenn du mal drüber schaust

Private Sub Country_AfterUpdate()
    If Not IsNull(Me!Country) Then
        Me!City.RowSource = _
          "SELECT DISTINCT City FROM qryDevice" & _
          IIf(Me!Country = 0, "", " WHERE CountryID = 0 OR CountryID = " & Me!Country) & " ORDER BY City"
        Me!Hospital.RowSource = _
          "SELECT DISTINCT Hospital FROM qryDevice" & _
          IIf(Me!Country = 0, "", " WHERE CountryID = 0 OR CountryID = " & Me!Country) & " ORDER BY Hospital"
        Me!Device.RowSource = _
          "SELECT DISTINCT Device FROM qryDevice" & _
          IIf(Me!Country = 0, "", " WHERE CountryID = 0 OR CountryID = " & Me!Country) & " ORDER BY Device"
    Else
        Me!Device.RowSource = ""
        Me!City.RowSource = ""
        Me!Hospital.RowSource = ""
    End If
End Sub


Private Sub City_AfterUpdate()
    If Not IsNull(Me!City) Then
        Me!Hospital.RowSource = _
          "SELECT DISTINCT Hospital FROM qryDevice" & _
          IIf(Me!City = "", "", " WHERE CityID = 0 OR CityID = " & Me!City) & " ORDER BY Hospital"
        Me!Device.RowSource = _
          "SELECT DISTINCT Device FROM qryDevice" & _
          IIf(Me!City = "", "", " WHERE CityID = 0 OR CityID = " & Me!City) & " ORDER BY Device"
    Else
        Me!Device.RowSource = ""
        Me!Hospital.RowSource = ""
    End If

Ich geh mal davon aus, dass hier der Fehler begraben liegt:

IIf(Me!Country = 0, "", " WHERE CountryID = 0 OR CountryID = " & Me!Country) & " ORDER BY City"

Komm leider nur nicht auf die Lösung -.-
« Letzte Änderung: April 07, 2011, 08:22:42 von Basti123 »
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23512
Re: "Explorer"
« Antwort #12 am: April 07, 2011, 09:08:01 »
Hallo,


"die ID-Felder als Textfelder und den vba code geändert."


warum?

Das beißt sich dann:

IIf(Me!City = "", "", " WHERE CityID = 0 OR CityID = " & Me!City) &




"möchte er, dass ich für den Name der Stadt einen Parameter eingebe ( 4 Mal ).. "

das bedeutet, dass in der Abfrage ein Feld/Kriteriumsangabe fehlerhaft ist, bzw. fehlt.

Offline Basti123

  • Access-User
  • *
  • Beiträge: 52
Re: "Explorer"
« Antwort #13 am: April 07, 2011, 09:39:20 »
Also wie soll ich das jetzt verstehen?

Beispiel:
In der Tabelle tblCity hab ich 3 Felder: CityID (Autowert, Primärschlüssel), City (Stadtname) und CountryID(Zahl, Kombifeld mit dem Inhalt: tblCountry.CountryID, tblCountry.Country, 2 Spalten, Breite 0cm;5cm)

Soll das Feld CountryID jetzt ein Kombifeld bleiben oder soll es als Textfeld definiert werden?

und was muss ich jetzt in den vba editor schreiben, dass er die Städte für ein Land anzeigt, das ich auswähle?
« Letzte Änderung: April 07, 2011, 09:59:16 von Basti123 »
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23512
Re: "Explorer"
« Antwort #14 am: April 07, 2011, 11:52:37 »
Hallo,

schwierig, bei dem Durcheinander die Grundlagen zu erklären...   :(




"Soll das Feld CountryID jetzt ein Kombifeld bleiben oder soll es als Textfeld definiert werden?"

in der TABELLE muß das Feld als TEXTFELD (und nicht als Kombifeld) eingestellt sein.


Im Formular muß es UNGEBUNDENE (Kombifelder)/Listenfelder  für die Auswahl des Landes und der Stadt ("lstCountry", "lstCity") geben mit diesen Einstellungen:

lstCountry:

Datensatzherkunft: Select CountryID.CountryName from tblCountries order by Countryname
Spaltenanzahl: 2
Spaltenbreiten: 0cm;5cm


Für die Anzeige der Städte

lstCity:

Datensatzherkunft: leer
Spaltenanzahl:1
Spaltenbreiten: 5cm

Sub lstCountry_Afterupdate()
Me!lstCity.Rowsource=" Select  distinct CityName from tblCities where CountryID = " & Me!lstCountry.Column(0) & " order by CityName"
End Sub




Für das Filtern des Forms:

frmDevice:
Datenherkunft: tblDevice


Sub lstCity_Afterupdate()
Me.Filter = "CityName = '" & Me!lstCity.Column(1) & "'"
Me.FilterOn=True
End Sub



Wenn die Listenfelder nur die schon in der Tabelle tblDevice enthaltenen Länder/Städte anzeigen sollen, dann muss als Datenquelle anstelle der Grundtabellen eine entspr. verknüpfte Abfrage in den SQl-Strings verwendet werden.

 

Internet Explorer in einer Ansicht

Begonnen von niqueBoard Access Programmierung

Antworten: 1
Aufrufe: 4873
Letzter Beitrag August 04, 2010, 12:40:17
von database
Anzeige von Bildern aus einem Formularfeld Hyperlink ohne Internet-Explorer

Begonnen von pilzpeterBoard Formular

Antworten: 2
Aufrufe: 4343
Letzter Beitrag November 26, 2010, 07:41:57
von bahasu
Löschung von Klassenobjekt aus Projekt-Explorer

Begonnen von Rainer 1984Board Access Programmierung

Antworten: 3
Aufrufe: 5753
Letzter Beitrag Februar 02, 2011, 22:35:57
von Rainer 1984
Ordner über Explorer suchen

Begonnen von kater066Board Access Programmierung

Antworten: 35
Aufrufe: 26418
Letzter Beitrag März 20, 2011, 15:25:19
von kater066
per Befehlsschaltfläche bestimmte Explorer-Ordner öffnen

Begonnen von v8wheelsBoard Formular

Antworten: 6
Aufrufe: 8657
Letzter Beitrag April 21, 2011, 09:27:31
von DF6GL