Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Selektion in Access nach identischem Text

Selektion in Access nach identischem Text
07.10.2012 14:26:35
Lars
Hallo und einen schönen Sonntag!
Ich habe im Forum ein interessantes Beispiel gefunden, welches ich gern weiterverwenden möchte.
https://www.herber.de/bbs/user/82000.zip
Ich habe nur ein Problem! Das Selektionskriterium ist bei mir keine Zahl, sondern ein Text.
Kann mir da eventuell jemand helfen?
Danke im Voraus,
Lars

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Selektion in Access nach identischem Text
07.10.2012 15:43:10
Peter
Hallo Lars,
ob Zahl oder Text, wenn das Feld in Access das richtige ist (in dem der Wert vorhanden sein könnte), sollte das egal sein.
Versuche das gefundene Makro doch ganz einfach, nach Anpassung auf Deine Gegebenheiten, aus.
Gruß Peter

AW: Selektion in Access nach identischem Text
07.10.2012 17:01:34
Lars
Danke für Deine Antwort Peter,
nur leider funktioniert das nicht. Selbst wenn ich in der Beispieldatenbank das Feld „Höhe“ von einer Zahl zu einem Text umformatiere wirft er mir den Fehler raus.
„Laufzeitfehler 3463: Datentypen in Kriterienausdruck unverträglich.“
und verweist im Anschluss auf:
Set oRS = oDB.OpenRecordset("SELECT * FROM Tabelle1 WHERE Hoehe = " & varSuchWert & "")
Also ganz so einfach ist es für mich nicht mit dem anpassen.
Gruß,
Lars

Anzeige
AW: Selektion in Access nach identischem Text
07.10.2012 17:04:23
Lars
Sorry, hatte den Haken für "noch offene Frage vergessen!
... siehe unten

AW: Selektion in Access nach identischem Text
07.10.2012 17:05:02
Lars
Sorry, hatte den Haken für "noch offene Frage vergessen!
... siehe unten

AW: Selektion in Access nach identischem Text
07.10.2012 19:33:24
Josef

Hallo Lars,
versuch mal.
Set oRS = oDB.OpenRecordset("SELECT * FROM Tabelle1 WHERE Hoehe = '" & varSuchWert & "'")


« Gruß Sepp »

Anzeige
AW: Selektion in Access nach identischem Text
07.10.2012 19:53:10
Lars
Danke für den Tipp Josef,
aber es klappt leider auch nicht :-(
Der Code läuft durch ohne Fehlermeldung. Zahlen findet er mit diesem veränderten Code weiterhin, nur leider keine Texte.
Gruß,
Lars

AW: Selektion in Access nach identischem Text
07.10.2012 19:59:31
Josef

Hallo Lars,
dann probier noch CStr(varSuchWerT)

« Gruß Sepp »

Anzeige
AW: Selektion in Access nach identischem Text
07.10.2012 20:06:23
Lars
Sorry,
...aber wo muss das in den Code rein?

Option Explicit
Dim oDB As Object
Public oRS As Object
Sub CloseDB()
On Error Resume Next
oRS.Close: Set oRS = Nothing
oDB.Close: Set oDB = Nothing
End Sub
Function Oben_Database() As Boolean
Dim sPath$
On Error Resume Next
Set oDB = CreateObject("DAO.DBEngine.36")
If oDB Is Nothing Then
Set oDB = CreateObject("DAO.DBEngine.35")
End If
If Not oDB Is Nothing Then
sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
Set oDB = oDB.OpenDatabase(sPath & "\Datenbank.mdb", False, False)
Oben_Database = True
End If
End Function
Sub LeseDaten(ByVal varSuchWert)
If Not Oben_Database Then
MsgBox "Keine Verbindung zur Datenbank!"
Exit Sub
End If
Set oRS = oDB.OpenRecordset("SELECT * FROM Tabelle1 WHERE Hoehe = '" & varSuchWert & "'")
If oRS.RecordCount > 0 Then Tabelle1.Range("A6").CopyFromRecordset oRS
End Sub

Bin doch eher ein User!
Lars

Anzeige
AW: Selektion in Access nach identischem Text
07.10.2012 21:10:48
Josef

Hallo Lars,
Set oRS = oDB.OpenRecordset("SELECT * FROM Tabelle1 WHERE Hoehe = '" & CStr(varSuchWert) & "'")


« Gruß Sepp »

AW: Selektion in Access nach identischem Text
07.10.2012 21:22:27
Lars
nein Sepp,
...wieder kein Erfolg.
Kein Fehler, aber auch kein Suchergebnis.
Danke für Deine Bemühungen.
Lars

Anzeige
AW: Selektion in Access nach identischem Text
07.10.2012 21:29:45
Lars
verdammt, wieder den haken vergessen.
Sorry!

AW: Selektion in Access nach identischem Text
08.10.2012 05:20:21
Tino
Hallo,
bei Text muss der Suchbegriff mit Hochkommas eingefasst werden
und anstatt mit = besser mit Like arbeiten.
Set oRS = oDB.OpenRecordset("SELECT * FROM Tabelle1 WHERE Hoehe Like '" & varSuchWert & "'")

Gruß Tino

AW: Selektion in Access nach identischem Text
08.10.2012 09:33:31
Lars
Hallo Tino,
leider funktioniert diese Variante auch nicht.
Keine Fehlermeldung! Allerdings selektiert er nur nach Zahlen :-(
Gruß Lars

AW: Selektion in Access nach identischem Text
08.10.2012 14:00:50
Peter
Hallo Lars,
ich lese zwar aus einer anderen .mdb, als der in der Mustermappe angegebenen, aber bei mir funktioniert es so einwandfrei:
Public Sub LiesDaten(ByVal varSuchWert)
If Not Oben_Database Then
MsgBox "Keine Verbindung zur Datenbank!"
Exit Sub
End If
Set oRS = oDB.OpenRecordset("SELECT * FROM Adressen WHERE Vorname = '" & varSuchWert & "'")
If oRS.RecordCount > 0 Then Tabelle2.Range("A6").CopyFromRecordset oRS
End Sub

Gruß Peter

Anzeige
AW: Selektion in Access nach identischem Text
08.10.2012 14:48:24
Lars
Hallo Peter,
kannst Du eventuell Deine Dateien (natürlich verstümmelt) hochladen? Eventuell ist ein Neuanfang ja besser als alten Sachen hinterherzuweinen.
Gruß,
Lars

hier ein Beispiel mit Text
08.10.2012 14:46:32
Tino
Hallo,
ich denke ein Beispiel mit Text sagt mehr als tausend Worte.
Im Beispiel kannst Du durch Eingabe in die Zelle B2 die Textdaten aus der Spalte Namen der Datenbank ziehen.
Z. Bsp. kannst Du Nachname 1 oder Nachname 2 eingeben.
Wenn Du Nach* eingibst wird alles gelistet was mit Nach anfängt.
Wenn Du *name* eingibst wird alles gelistet was name enthält.
https://www.herber.de/bbs/user/82019.zip
Gruß Tino

Anzeige
AW: Selektion in Access nach identischem Text
08.10.2012 13:51:37
Jürgen
Hallo Lars,
ich habe eben mal Deinen Code ausprobiert - bei mir funktioniert es tadellos. Vielleicht liegt es an der Gestaltung des gesuchten Textstrings? Wenn Du nach allen Datensätzen suchst, die im Feld "Hoehe" mit "Hugo" beginnen, solltest Du z.B. nach "Hugo*" suchen. Der Code, in dem Du "LeseDaten" aufrufst, fehlt übrigens in Deinem Codeauszug.
Und noch ein Tipp: wenn Du den Import anhand von Suchkriterien durchführen möchtest, die in einer Zelle stehen, geht das auch ohne VBA.
Gruß, Jürgen

AW: Selektion in Access nach identischem Text
08.10.2012 14:14:19
Lars
Sorry, hier ist der fehlende Code!
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Range("A6", Cells(Rows.Count, 1)).EntireRow.Delete
If Not Intersect(Range("B2"), Target) Is Nothing Then
If Range("B2").Value  "" And IsNumeric(Range("B2").Value) Then
Call LeseDaten(Range("B2").Value)
Call CloseDB
End If
End If
Application.EnableEvents = True
End Sub

Habe es auch schon mit
If Range("B2").Value  ""  Then

versucht. funktioniert leider auch nicht.
Danke für die Mühe,
Lars

Anzeige
AW: Selektion in Access nach identischem Text
08.10.2012 14:29:49
Lars
Haken für "noch offen" vergessen, sorry!

AW: Selektion in Access nach identischem Text
08.10.2012 15:15:55
Jürgen
Hallo Lars,
es muss natürlich lauten:
If Range("B2").Value  ""  Then
Damit funktioniert es bei mir auch. Beim Testen bitte aufpassen: wenn die Makroausführung abgebrochen wird, wir die Zeile
Application.EnableEvents = True 

nicht mehr erreicht, d.h. bei Neueingabe in B2 geschieht nichts, bis Excel neu gestartet wird oder die obige Anweisung im Direktbereich eingegeben wird.
Aber wie gesagt: genau das, was Du mit dem VBA-Code machst, kannst Du bequemer ohne VBA machen!(Lösung skizziert: über "Daten" eine Abfrage per MS Query erstellen, dort den oder die Suchparameter definieren, nach dem Einfügen in Excel die definierten Suchparameter mit Zellen verknüpfen)
Gruß, Jürgen

Anzeige
AW: Selektion in Access nach identischem Text
08.10.2012 15:35:06
Lars
Hallo Jürgen,
werde mal Deinen Ansatz weiter verfolgen. Ich gehe davon aus, dass wenn ich die Tabellen der Access-Datei und die Excel-Tabelle verknüpfe, dass auch andere User die Access-Tabelle bearbeiten können. Richtig?
Lars

AW: Selektion in Access nach identischem Text
08.10.2012 16:36:27
Lars
Hallo Jürgen
Deine Idee ist sicherlich nicht verkehrt, nur wird bei uns die Datenverbindung (Firmen-PC) automatisch deaktiviert. Auch wenn ich sie aktiviere, ist sie bei dem nächsten Mal wieder deaktiviert.
Muss wohl doch den Weg über eine VBA wählen.
Gruß Lars

AW: Selektion in Access nach identischem Text
08.10.2012 16:39:39
Lars
Was natürlich auch noch gehen würde, wäre das ich über einen Code (bräuchte allerdings auch da Hilfe) die kompl. Tabelle1 aus der Datenbank mir nach Excell kopiere und dann dort selektiere.
Lars

AW: Selektion in Access nach identischem Text
08.10.2012 18:36:10
Jürgen
Hallo Lars,
das verstehe ich nicht - was meinst Du mit "Datenverbindung automatisch deaktiviert"? Technisch haben die VBA-Lösung (soweit Deine Lösung bislang sichtbar ist) und die Abfrage-Lösung eigentlich die gleichen Voraussetzungen.
Gruß, Jürgen

AW: Selektion in Access nach identischem Text
09.10.2012 16:28:59
Lars
SORRY!
Fehler lag bei mir! Hatte statt "Tabelle1" den Tabellennamen immer eingegeben/angepasst.
Asche auf mein Haupt und nochmals herzlichen Dank an diejenigen, die hier ihre Zeit für mich investiert haben.
Lars

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige