Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Textfelder einer Tabelle nach Stichwörtern durchsuchen
zurück: Rankingliste von 1 bis x in Abhängigkeit generieren lassen?? weiter: ZDate abfrage Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast



Verfasst am:
02. Apr 2009, 16:39
Rufname:

Textfelder einer Tabelle nach Stichwörtern durchsuchen - Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo ihr alle,

Ich arbeite noch nicht so lange mit Access, bin grad ein bisschen am Verzweifeln und hoffe mal, dass ihr mir weiterhelfen könnt.

Es geht um eine Datenbank zur Aufgabenverteilung.
Über ein Formular kann man auswählen, ob man nur die Aufgaben(meist ein längerer Text) von einem bestimmten Mitarbeiter oder Betreuer suchen will. Oder Aufgaben mit einem bestimmten Status.
Das hab ich über diesen Code gemacht.
Code:
    stDocName = "AufgabenFrm"
    stLinkCriteria = "[Mitarbeiter]=" & "'" & Me![KombinationsfeldHiwi] & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Das hat soweit auch ganz gut geklappt.
Aber ich hätte gerne noch die Möglichkeit nach Stichwörtern in den Aufgaben zu suchen. Also sowas wie ein Textfeld, in das ich meinen Suchbegriff schreibe und dann alle Aufgaben nach diesem Wort durchsucht.

Wenn mir jemand weiterhelfen könnte, wäre ich sehr dankbar.
Marion
JörgG
Access-Team


Verfasst am:
02. Apr 2009, 17:34
Rufname:
Wohnort: b. Dresden


AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo,

unklar, der Code öffnet ein Formular mit Filter. Soll das Suchtextfeld hier integriert werden?
Code:
    DoCmd.OpenForm "AufgabenFrm", , , _
            "Mitarbeiter = '" & Me!KombinationsfeldHiwi & "' " & _
        "AND Aufgabe Like '*" & Me!Suchtextfeld & "*'", , acDialog

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
03. Apr 2009, 09:58
Rufname:

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Mein Retter!!!!
Vielen Dank.

Das hat gleich zwei Probleme bei mir gelöst:
1. Wie ich zwei so Kriterien miteinander verbinde, weil ich immer net wusste wo überall Anführungszeichen und so Sachen hinmüssen.
2. Wie ich so ne vage Abfrage mit dem LIKE und den Sternchen hinkrieg.
Hast mir sehr geholfen.

Dann versuch ichs gleich weiter. Das hatte ich schon aufgegeben, aber vielleicht wisst ihr dazu ja auch noch nen Rat.

Und zwar gehts um ein Problem von Schließen und Speichern.
In meinem AufgabenFormular kommt immer ne Speicherabfrage, wenn man den Datensatz wechselt:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Select Case MsgBox("Sollen die Änderungen gespeichert werden?", vbYesNoCancel)
      Case vbYes    'es wird gespeichert
        MsgBox "Änderungen wurden übernommen"
      Case vbNo  'Die Änderungen werden verworfen
        Me.Undo
        Cancel = True
        MsgBox "Änderungen wurden nicht übernommen"
      Case vbCancel    'es wird nicht gespeichert, Daten bleiben aber erhalten
        Cancel = True
    End Select
End Sub
Wenn ich jetzt den letzten Datensatz gerade bearbeitet habe, nicht wechsle und das Formular verlassen will, z.B über einen CloseButton
Code:
DoCmd.Close


Dann kommt diese Abfrage wieder, was ja auch gut so ist. Wenn mir aber dann einfällt, ich will auf "Abbrechen" klicken, wird Eintrag zwar nicht gespeichert, aber das Formular geht trotzdem zu.

Gibts eine andere Methode zum Schließen, die "Before-Update" vielleicht umgeht oder eine Möglichkeit im "BeforeUpdate" den Schließen-Vorgang zu verhindern.
JörgG
Access-Team


Verfasst am:
03. Apr 2009, 10:59
Rufname:
Wohnort: b. Dresden

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo,

dann musst Du zusätzlich das Entladen des Formulares canceln, zB:
Code:
Private iExit As Integer  'ganz oben in den Modulkopf

Private Sub Form_BeforeUpdate(Cancel As Integer)
    '....
      Case vbCancel    'es wird nicht gespeichert, Daten bleiben aber erhalten
        Cancel = True
        iExit = vbCancel
    End Select
End Sub
der Beenden-Button muss um die Formularreferenz ergänzt werden, Me.Name ist Dein Formular (wird nicht verändert):
Code:
Private Sub SFBeenden_Click()
    DoCmd.Close acForm, Me.Name
End Sub
(DoCmd.Close ist zu allgemein, gib möglichst immer das Objekt an, welches Du schliessen willst.)
Formularereignis "beim Entladen":
Code:
Private Sub Form_Unload(Cancel As Integer)
    If iExit = vbCancel Then
        Cancel = True
        iExit = 0
    End If
End Sub

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
MaryLoo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Apr 2009, 11:48
Rufname:


AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo Jörg

Wenn ich das so mache, bekomme ich ne Fehlermeldung
" '2169' - Sie können diesen Datensatz momentan nicht abspeichern"

Die Fehlermeldung könnte ich ja noch abfangen, aber der gemachte Eintrag bleibt nicht erhalten. Fällt dir dazu noch was ein?
JörgG
Access-Team


Verfasst am:
03. Apr 2009, 14:45
Rufname:
Wohnort: b. Dresden

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo,

ich hab's mal nachgebaut. Den Fehler kann ich nicht reproduzieren, dazu muss man wohl mal einen Blick in die DB werfen, da ist noch etwas anderes. Das in der Kombination Schliessen+Abbrechen die Eingabe verloren geht war mir auch neu, verhält sich bei mir genauso.

Question Wir reden hier von einem einzelnen Formular, oder sind hier Ufos im Spiel? Die Datenherkunft des Formulares ist eine Tabelle bzw Abfrage ohne (?) berechnete Spalten (SQL-Ansicht)? Dann würde ich wohl jetzt im BeforeUpdate die Werte auffädeln und nach dem Canceln nochmal reinschreiben Very Happy. Sind die Feldnamen aus der Datenherkunft identisch mit den Steuerelementnamen, enthlten diese Namen Leer-/Sonderzeichen? Gibt es ein Autowert-ID, wie heisst es?

Edit: 15:30
Code:
Private aMerke() As Variant

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim i As Integer

    ReDim aMerke(0)
    Select Case '...
        '...
        Case vbCancel
            Cancel = True
            On Error Resume Next
            ReDim aMerke(2 * Me.Recordset.Fields.Count - 1)
            For i = 0 To Me.Recordset.Fields.Count - 1
                aMerke(2 * i) = "[" & Me.Recordset.Fields(i).Name & "]"
                aMerke(2 * i + 1) = Me("[" & Me.Recordset.Fields(i).Name & "]")
            Next i
    End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Dim i As Integer
   
    On Error Resume Next      'falls nicht beschreibbare Felder enthalten sind
    If UBound(aMerke) > 0 Then
        If Err > 0 Then Exit Sub
        Cancel = True
        For i = 0 To UBound(aMerke) Step 2  'Felder aus Array wieder beschreiben
            Me("[" & aMerke(i) & "]") = aMerke(i + 1)
        Next i
    End If
End Sub

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.


Zuletzt bearbeitet von JörgG am 03. Apr 2009, 15:30, insgesamt 2-mal bearbeitet
MaryLoo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Apr 2009, 15:21
Rufname:

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo Jörg,
Erstmal Danke, dass du dir soviel Mühe damit gibst.

Ja, es ist ein einzelnes Formular. Da sind die Aufgaben tabellarisch untereinander angeordnet. Die kommen alle aus einer großen Tabelle.
Ansonsten eben noch ein Formular davor geschaltet, indem ich mir z.B. das Stichwort oder einen bestimmten Hiwi aussuchen kann. Danach wird dann beim Öffnen gefiltert, sowie bei dem Code den du mir weiter oben schon gerettet hast.
Namen sind identisch und ohne Leer/Sonderzeichen.

Werd etz mal versuchen, ob ich das mit dem Rausziehen und wieder reinschreiben hinkrieg. Solange es läuft ist ja egal wie Very Happy
Danke schon mal.
JörgG
Access-Team


Verfasst am:
03. Apr 2009, 15:28
Rufname:
Wohnort: b. Dresden

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo,

hab's gerade mal getestet da war noch eine Krücke drin, nimm die jetzige Version Very Happy

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
MaryLoo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Apr 2009, 15:37
Rufname:

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Also deinen Code werd ich mir noch mal in Ruhe zu Gemüte führen...
Da sind soviele Zahlen drin;)
aber ich habs etz mit meinem auch hingekriegt, war ne prima Idee mit dem Rausholen und wieder Reinschieben.
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Select Case MsgBox("Sollen die Änderungen gespeichert werden?", vbYesNoCancel)
      Case vbYes    'es wird gespeichert
        MsgBox "Änderungen wurden übernommen"
      Case vbNo  'Die Änderungen werden verworfen
        Me.Undo
        Cancel = True
        MsgBox "Änderungen wurden nicht übernommen"
      Case vbCancel    'es wird nicht gespeichert, Daten bleiben aber erhalten
        stAufg = Me!Aufgabe
        stBemerk = Me!Bemerkung
        Cancel = True
        iExit = vbCancel
    End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If iExit = vbCancel Then
        Cancel = True
        iExit = 0
        Me!Aufgabe = stAufg
        Me!Bemerkung = stBemerk
    End If
End Sub

Private Sub Schließen_Click()
    On Error GoTo Err
    DoCmd.Close acForm, Me.Name
Ende:
    Exit Sub
Err:
   Select Case Err.Number
     Case 2169 ' Speichern ist fehlgeschlagen
       Resume Ende
     Case Else
       MsgBox Err.Description
   End Select
End Sub
Könnte stilistisch bestimmt schöner sein, aber solange es funktioniert bin ich zufrieden:D
Vielen Vielen Dank
MaryLoo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Apr 2009, 16:17
Rufname:

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Okay, eine Frage hab ich doch noch dazu.
Dann lass ich dir auch wieder deine Ruhe:D
Und zwar was kann ich denn machen, damit er im Zweifelsfall auch leere Textfelder annimmt und umschreibt? Im Moment krieg ich dann ne Fehlermeldung mit unzulässige Verwendung von NULL.
Danke schön
JörgG
Access-Team


Verfasst am:
03. Apr 2009, 17:09
Rufname:
Wohnort: b. Dresden

AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Hallo,

gleich beim Füllen der Variable die Nulltöter einsetzen Very Happy :
Code:
        stBemerk = Me!Bemerkung & ""
'oder
        stBemerk = Nz(Me!Bemerkung, "")

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
MaryLoo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Apr 2009, 09:03
Rufname:


AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen - AW: Textfelder einer Tabelle nach Stichwörtern durchsuchen

Nach oben
       Version: Office 2003

Wunderschön. Es läuft dat Ding...;)
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: Kreuztabellenabfrage für neue Tabelle nutzen 3 WaterMan 805 06. Jul 2004, 14:39
mabe38 Kreuztabellenabfrage für neue Tabelle nutzen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle exportieren als Excel2000 Arbeitsblatt 1 thomassch 916 06. Jul 2004, 12:46
stpimi Tabelle exportieren als Excel2000 Arbeitsblatt
Keine neuen Beiträge Access Tabellen & Abfragen: tabelle exportieren 1 Gast 1501 01. Jun 2004, 12:25
Willi Wipp tabelle exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Duplikate einer Tabelle löschen?! 3 Esel 2108 28. Mai 2004, 08:53
lothi Duplikate einer Tabelle löschen?!
Keine neuen Beiträge Access Tabellen & Abfragen: Spaltennamen einer Tabelle ermitteln 1 Alexander Neron 899 27. Mai 2004, 13:47
lothi Spaltennamen einer Tabelle ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: kein Wert in der Tabelle, dann immer Null (0)?? 3 Michel_9 1005 26. Mai 2004, 14:28
Michel_9 kein Wert in der Tabelle, dann immer Null (0)??
Keine neuen Beiträge Access Tabellen & Abfragen: Operant aus Tabelle in Abfrage verwenden 3 AccessGeek 673 06. Mai 2004, 09:15
lothi Operant aus Tabelle in Abfrage verwenden
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle aus Abfrage erstellen 1 dasti 3317 09. Apr 2004, 12:14
Gast Tabelle aus Abfrage erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Zeilenumbruch nach Einfügen Word Tabelle 2 topflop 1698 30. März 2004, 16:06
Gast Zeilenumbruch nach Einfügen Word Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Zusammenfassen von Textfelder 2 robinson 562 23. März 2004, 12:44
robinson Zusammenfassen von Textfelder
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe