ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
783
783
EMPFEHLEN
-
Hi erstmal ich bin neu hier,
dieses Forum hat mir bis jetzt sehr geholfen, deswegen hab ich mich auch angemeldet.
Ich habe folgendes Problem :
Ich bin habe eine Datenbank mit Tabelle und Formular.
In diesem Formular habe ich eine Suchfunktion eingerichtet die über 3 Textfelder geht, nach diesen ich in 3 Spalten nach einer Zahl filtern kann.
Nun möchte ich aber gern mit einem Textfeld nach einer nach diesen drei Zahlen filtern, also muss ich wohl irgendwie mit left, middle und right arbeiten. Ich habe aber leider nur beschränkte Programmierkenntnisse. Gibt es irgendwie eine Möglichkeit dies in meinen derzeitigen Suchcode einzugliedern?
So sieht er bis jetzt aus:
Code vb:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
Public Sub SQLString(FieldValue As Variant, FieldName As String, _ Criteria As String, ArgCount As Integer, _ Typ As Integer, Optional bAnd As Boolean = True) If Nz(FieldValue, "") <> "" Then If bAnd Then If ArgCount > 0 Then Criteria = Criteria & " AND " Else If ArgCount > 0 Then Criteria = Criteria & " OR " End If Select Case Typ Case 1 Criteria = Criteria & FieldName & "= #" & _ Format(CDate(FieldValue), "mm-dd-yyyy") & "#" Case 2 Criteria = Criteria & FieldName & " Like '*" & FieldValue & "*'" Case 3 Criteria = Criteria & FieldName & " = " & Str(FieldValue) Case 4 Criteria = Criteria & FieldName & " = '" & FieldValue & "'" Case 5 If FieldValue = "Ja" Or FieldValue = "True" Or _ FieldValue = True Then Criteria = Criteria & FieldName & " = -1" Else Criteria = Criteria & FieldName & " = 0" End If End Select ArgCount = ArgCount + 1 End If End Sub Private Function Filterbedingung() As String Dim ArgCount As Integer ArgCount = 0 myCriteria = "" SQLString Me![Geschaeftsstelle], "geschaef", myCriteria, ArgCount, 4 SQLString Me!Service, "servicec", myCriteria, ArgCount, 4 SQLString Me!Beraterposten, "beraterp", myCriteria, ArgCount, 4 If myCriteria = "" Then myCriteria = "True" Filterbedingung = myCriteria End Function Private Sub Btn_FilterOn_Click() Me.Filter = Filterbedingung Me.FilterOn = True End Sub Private Sub Btn_FilterOff_Click() Me.FilterOn = False myCriteria = "" End Sub
Ich bitte um schnelle Hilfe hab nämlich nicht mehr so viel zeit dafür.
Danke schon mal im Voraus.
Fuchsei
Geändert von ComFreek (29.08.11 um 19:26 Uhr) Grund: [VB]-Tags hinzugefügt!
-
29.08.11 17:17 #2
Hallo!
Erstmal, bitte verwende die Codetags (in dem Fall [vb] und [/vb]), dann kannst du deinen Code besser formatieren und er ist um Welten besser zu lesen.
Wie sieht denn so ein typisches Textfeld aus, dass du zerlegen willst?
Der Doc!A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
B: Die Scrollbar da rechts ist dir schon mal aufgefallen?
-
Hi Doc,
erstmal danke für deine Antwort. Also die Textfelder heißen wie oben genannt Geschäftsstelle, Service, und Beraterposten und suchen nur nach zahlen.
Das neue Textfeld soll praktisch alle beinhalten.
Ergo mit dem neuem Textfeld soll er mit den ersten 3 Zahlen die Spalte "geschaef" durchsuchen, und mit den nächsten 2 Zahlen die Spalte servicec, die letzten 2 zahlen sollen die Spalte "beraterp" durchsuchen.
Das müsste mann halt irgendwie in den Suchstring eingliedern der bei mir ja so aussieht:
Code vb:1 2 3
SQLString Me![Geschaeftsstelle], "geschaef", myCriteria, ArgCount, 4 SQLString Me!Service, "servicec", myCriteria, ArgCount, 4 SQLString Me!Beraterposten, "beraterp", myCriteria, ArgCount, 4
Danke wieder mal im Voraus.
Fuchsei
-
30.08.11 09:38 #4
Also, wenn ich das richtig verstehe, hast du dann nur mehr ein Textfeld, in dem eine einzige Zahl eingegeben wird. Diese Zahl ist ein Code der sich aus den Codes für die Geschäftsstelle, der Servicestelle und dem Beraterposten zusammensetzt.
Wenn die eingegebene Zahl immer 7-stellig ist, wäre das ganze sehr einfach zu lösen:
Code vb:1 2 3 4
suchstring = Me!DeinTextfeld 'Zuweisung an Variable Geschäft = Left(suchstring, 3) Service = Mid(suchstring, 4, 2) Berater = Right(suchstring, 2)
Sollte das ganze nicht 7-stellig sein, da die Geschäftsstelle nicht 3-stellig eingegeben wurde, müsstest du das ganze etwas abändern.
Code vb:1 2 3 4 5
suchstring = Me!DeinTextfeld 'Zuweisung an Variable Berater = Right(suchstring, 2) suchstring = Right(suchstring, Len(suchstring) - 2) Service = Right(suchstring, 2) Geschäft = Left(suchstring, Len(suchstring) - 2)
Der Doc!A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
B: Die Scrollbar da rechts ist dir schon mal aufgefallen?
-
jo, das erste ist genau was ich brauche. Super, bin dir unglaublich dankbar.
Ich hab nur leider ne blöde Frage, tut mir leid ich programmier erst seit einer Woche mit vba.
Könntest du mir noch sagen wo ich deinen code jetzt hinsetzten muss dass das ganze funktioniert und wie ich dann meinen verändern muss. Sorry steh grad voll auf der leitung
Fuchsei
-
30.08.11 14:17 #6
Das ganze gehört direkt vor deinen SQLString-Aufrufen, du musst halt nur die entsprechenden Variablen ersetzen:
Code vb:1 2 3 4 5 6 7 8
suchstring = Me!DeinTextfeld 'Zuweisung an Variable Geschäft = Left(suchstring, 3) Service = Mid(suchstring, 4, 2) Berater = Right(suchstring, 2) SQLString Geschäft, "geschaef", myCriteria, ArgCount, 4 SQLString Service, "servicec", myCriteria, ArgCount, 4 SQLString Berater, "beraterp", myCriteria, ArgCount, 4
Der Doc!A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
B: Die Scrollbar da rechts ist dir schon mal aufgefallen?
-
Top Doc, super funktioniert perfekt. Vielen Dank für deine schnelle und gute Hilfe. Bin froh dass es es endlich klappt. Der Wahnsinn wenn man bedenkt dass ich vor einer Woche noch nie mit Access gearbeitet habe, und jetzt schon ein bisschen rum programmier. Das war nur mit diesem Forum möglich. Hier gefällts mir.
Eine Frage hätt ich aber noch: Kann man das iwie einstellen, bzw programmieren, dass bei Aufruf des Formulars erstmal kein einziger Datensatz angezeigt wird. Also erst nach der Suche dann die entsprechenden.
Danke vielmals
Fuchsei
-
31.08.11 09:13 #8
Da kann ich dir jetzt leider nicht helfen, hab hier kein Access und auch schon lang nichts mehr damit getan (die vorige Frage war ja VBA).
Der Doc!A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
B: Die Scrollbar da rechts ist dir schon mal aufgefallen?
-
Stimmt, ja kein Problem frag ich halt ein bisschen rum.
Fuchsei.
Ähnliche Themen
-
Zerlegung einer URI mit Reg.Ex. [PERL]
Von deostift im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 6Letzter Beitrag: 31.01.08, 15:27 -
Vector zerlegung
Von licht400 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 17Letzter Beitrag: 31.08.07, 11:52 -
String-Zerlegung
Von notausgang im Forum .NET CaféAntworten: 7Letzter Beitrag: 09.08.07, 09:48 -
Zerlegung Stringketten
Von Tassi im Forum Visual Basic 6.0Antworten: 8Letzter Beitrag: 22.06.04, 15:54 -
String Zerlegung
Von igfas im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 27.03.03, 12:14





Zitieren

Login





