collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 52
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13754
  • stats Beiträge insgesamt: 62828
  • stats Themen insgesamt: 8540
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Suche in zwei oder drei Datenfeldern  (Gelesen 728 mal)

Offline ha-be

  • Newbie
  • Beiträge: 8
Suche in zwei oder drei Datenfeldern
« am: Juni 14, 2017, 11:45:29 »
Hallo,

ich habe eine Access-Datenbank in der ich unsere Firmen-IT-Hardware verwalte.
Ich habe nun unter Mühen ;D (da Access-Anfänger) ein Formular gebastelt, mit einem Suchfeld,
in dem ich eine Kataster-Nr. eingebe und mir die passende Hardware angezeigt.

Wie muss ich das Script (siehe unten) verändern, dass mein Suchbegriff nicht nur im Feld KatasterNr
sondern auch in den Feldern KatasterNr2 und KatasterNr3 gesucht wird...?

Vielen Dank im Voraus für jegliche Hilfe...
ha-be


Private Sub hardwaresuchen_Click()
Dim sSQL As String
sSQL = "SELECT * FROM [tab_hardware_basis] "
sSQL = sSQL & " WHERE [KatasterNr] LIKE '*" & sHardware & "*'"
Me.RecordSource = sSQL
Me.Requery
End Sub
 

Offline el_gomero

  • Access-Profi
  • **
  • Beiträge: 480
  • Wissen ist Macht - weiss nichts - Macht nichts
Re: Suche in zwei oder drei Datenfeldern
« Antwort #1 am: Juni 14, 2017, 12:01:21 »
Moin,

Bezeichner wie KatasterNr2, KatasterNr3, ... deuten auf ein falsches Datenmodell. Bei richtigem brauchst du nicht über mehrere Felder zu suchen. Poste mal ein Bild des Beziehungsfensters.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen
 

Offline ha-be

  • Newbie
  • Beiträge: 8
Re: Suche in zwei oder drei Datenfeldern
« Antwort #2 am: Juni 14, 2017, 12:42:57 »
Hallo,

erst einmal vielen Dank für die schnelle Antwort.
Äh...Beziehungsfenster...da bin ich als Anfänger wahrscheinlich erst einmal überfordert  :-[

Ich kann's aber so erklären. Die Datenbank besteht aus einer Tabelle. Dort ist die gesamte Hardware eingetragen.
Die KatasterNr ist eine eindeutige Nummer...z.B. bei einem Rechner R881 oder R156 etc.
Bei einem Scanner etwa S089 oder S100...

In meinem Suchformular gebe ich dann S089 ein und der Datensatz des Scanners wird mir angezeigt.

Nun gibt es aber Hardware die z.B. aus zwei Komponenten besteht. Etwa ein Rechner...der heißt z.B. R211 und hat noch einen Monitor M212.

Ich möchte nun im Suchfeld auch einen Suchbegriff eingeben können der nicht unbedingt im Feld KatasterNr steht sondern vielleicht in KatasterNr2 oder KatasterNr3...da ich nicht immer weiß ob die Hardware eigenständig ist
(also etwa ein separat angeschaffter Monitor...würde dann in KatasterNr stehen)...oder zu einem anderen Hardwareteil gehört (also etwa Monitor zum Rechner)...

Ich hoffe ich konnte das einigermaßen verständlich rüberbringen.

Danke...
ha-be

 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23047
Re: Suche in zwei oder drei Datenfeldern
« Antwort #3 am: Juni 14, 2017, 12:44:08 »
Hallo,

unabhängig vom falschen Datenmodell, das als aller Erstes  bereinigt gehört, könnte Folgendes zum Erfolg führen:

<edit>
sSQL = sSQL & " WHERE [KatasterNr] & '|'  & [KatasterNr2] & '|'  &  [KatasterNr3] LIKE '*" & sHardware & "*'"
</edit>


Welchen Datentyp haben die Tabellenfelder "KatasterNr..." ?
Was ist "sHardware" ?



PS:  schau Dir mal u.st. Links 1 und 1a an.. Du musst Dich unbedingt mit den Grundlagen der Datenbanksystematik   (Tabellenaufbau, Normalisierung, Datentypen, usw..)  beschäftigen.

Offline ha-be

  • Newbie
  • Beiträge: 8
Re: Suche in zwei oder drei Datenfeldern
« Antwort #4 am: Juni 14, 2017, 13:21:35 »
Hallo...

werde ich gleich einmal ausprobieren.

Ja...mit der Zeit werde ich die Datenbank umstrukturieren.
Aber als Anfänger muss ich da erst einmal langsam reinkommen...das wird schon  ;D
 

Offline el_gomero

  • Access-Profi
  • **
  • Beiträge: 480
  • Wissen ist Macht - weiss nichts - Macht nichts
Re: Suche in zwei oder drei Datenfeldern
« Antwort #5 am: Juni 14, 2017, 13:27:16 »
Hallo ha-be,

Zitat
Ja...mit der Zeit werde ich die Datenbank umstrukturieren.
Aber als Anfänger muss ich da erst einmal langsam reinkommen.

Wenn du dir selbst einen Gefallen tun willst - lerne die Grundlagen und strukturiere sofort um. Sonst schlägst du dich bis dahin mit Problemen rum, die es mit vernünftigem Datenmodell nicht gibt. Das spart dir Zeit und Ärger und lässt dich "nicht gleich in die Luft gehen" ;)
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen
 

Offline ha-be

  • Newbie
  • Beiträge: 8
Re: Suche in zwei oder drei Datenfeldern
« Antwort #6 am: Juni 14, 2017, 13:32:11 »
Die Felder KatasterNr sind reine Textfelder.

sHardware (für sucheHardware) ist die Bezeichnung des Suchfeldes im Formular.

Mit Deiner Ergänzung
sSQL = sSQL & " WHERE [KatasterNr] & "|" & [KatasterNr2] & "|" &  [KatasterNr3] LIKE '*" & sHardware & "*'"
bekomme ich eine Fehlermeldung.
"Fehler beim Kompilieren...Syntaxfehler.



 

Offline ha-be

  • Newbie
  • Beiträge: 8
Re: Suche in zwei oder drei Datenfeldern
« Antwort #7 am: Juni 14, 2017, 13:34:05 »

Wenn du dir selbst einen Gefallen tun willst - lerne die Grundlagen und strukturiere sofort um. Sonst schlägst du dich bis dahin mit Problemen rum, die es mit vernünftigem Datenmodell nicht gibt. Das spart dir Zeit und Ärger und lässt dich "nicht gleich in die Luft gehen" ;)

Werde ich auf alle Fälle in den nächsten Tagen in Angriff nehmen.
Die Lösung hier brauche ich erst einmal um jetzt aktuell auch Auskünfte aus der Datenbank geben zu können... :P
 

Offline el_gomero

  • Access-Profi
  • **
  • Beiträge: 480
  • Wissen ist Macht - weiss nichts - Macht nichts
Re: Suche in zwei oder drei Datenfeldern
« Antwort #8 am: Juni 14, 2017, 13:46:42 »
Franz hat 2 Fragen gestellt, die noch nicht beantwortet sind ...
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen
 

Offline ha-be

  • Newbie
  • Beiträge: 8
Re: Suche in zwei oder drei Datenfeldern
« Antwort #9 am: Juni 14, 2017, 13:53:46 »
Welche Fragen?

Hatte ich doch beantwortet...

Die Felder KatasterNr sind reine Textfelder.

sHardware (für sucheHardware) ist die Bezeichnung des Suchfeldes im Formular.
 

Offline ha-be

  • Newbie
  • Beiträge: 8
Re: Suche in zwei oder drei Datenfeldern
« Antwort #10 am: Juni 14, 2017, 14:07:12 »
Bekomme mit der (geänderten) Zeile

sSQL = sSQL & " WHERE [KatasterNr] & "|" & [KatasterNr2] & "|" & [KatasterNr3] & " LIKE '*" & sHardware & "*'"

immer noch einen Syntaxfehler :-[

ha-be
 

Offline el_gomero

  • Access-Profi
  • **
  • Beiträge: 480
  • Wissen ist Macht - weiss nichts - Macht nichts
Re: Suche in zwei oder drei Datenfeldern
« Antwort #11 am: Juni 14, 2017, 14:15:32 »
Zitat
Welche Fragen?

Hatte ich doch beantwortet...

hatte ich übersehen, sorry. Gehe davon aus dass "reine Textfelder" als vom Datentyp Text zu verstehen ist.

Normal weiss Franz genau was er schreibt, aber die Pipes kann ich hier auch nicht erklären. Egal mit Verkettung der Felder kannst du auf den Inhalt prüfen.

Könnte dann so funktionieren:

sSQL = sSQL & " WHERE [KatasterNr] & [KatasterNr2] & [KatasterNr3] LIKE '*" & Me!sHardware & "*'"

Voraussetzung dafür ist, dass der Code aus dem geöffneten Form aufgerufen wird. Sonst muss das Me! durch Forms!Formname! ersetzt werden.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen
 

Offline ha-be

  • Newbie
  • Beiträge: 8
Re: Suche in zwei oder drei Datenfeldern
« Antwort #12 am: Juni 14, 2017, 14:36:22 »
Hallo Jürgen,

vielen Dank.
Jetzt klappt's  :)

Werde mich ab der nächsten Woche mal der Datenbank widmen und versuchen, das mal auf einen ordentlichen Stand zu bringen.

Vielen Dank
und allen ein schönes Wochenende...
ha-be
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1550
Re: Suche in zwei oder drei Datenfeldern
« Antwort #13 am: Juni 14, 2017, 15:44:00 »
Und ich hab mal wieder Blödsinn verzapft  >:( >:(
Also bitte vergessen.
(Beitrag gelöscht)
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23047
Re: Suche in zwei oder drei Datenfeldern
« Antwort #14 am: Juni 14, 2017, 17:34:44 »
Hallo,


die Pipes sind nur (normalerweise im Feldinhalt nicht verwendete) Zeichen zwecks Trennung der einzelnen Strings.


z. B.   
werden bei Eingabe von "Lindau" auch "Berlin" und "Dauchingen" gefunden, wenn die Trennzeichen nicht eingebaut werden.



Und Sorry, habe falsche "Anführungszeichen" benutzt:

sSQL = sSQL & " WHERE [KatasterNr] & '|' & [KatasterNr2] & '|' &  [KatasterNr3] LIKE '*" & sHardware & "*'"