PDA

Vollständige Version anzeigen : Suche nach Zahlen über Formular einschränken


Timeport
06.08.2001, 07:59
Hi Leute,

Über ein Formular gebe ich Kriterien für eine Abfrage ein dessen Ergebnis im Unterformular ausgegeben wird. In einigen Spalten habe ich z.B. Bewertungen die mit 1-9 angegeben werden. Nun möchte ich im Kombinationsfeld des Forms auch Abfragen stellen wo ich z.B. alle kleiner als 4 (<4)oder alle von 3-6 ausgegeben bekomme. Aber irgendwie funktioniert das nicht (Msgbox: Sie haben einen Wert eingegeben der für dieses Feld nicht zulässig ist). Wenn ich die Abfrage "manuell" mache funktioniert alles bestens. Woran könnte das liegen?

Danke

Gruß Timeport

martiniz
06.08.2001, 08:06
hallo timeport,

du mußt pro kriterium ein feld in deinem form schaffen und für jedes kriterium eine proz. hinterlegen.

Timeport
06.08.2001, 08:48
Hi,

geht das nicht ohne programmieren? Ich bin darin nicht besonders fit. Warum nimmt der den meine Eingabe im Form <4 nicht? Wenn ich das so in der Abfrage eingebe funktioniert das doch?

martiniz
06.08.2001, 09:00
Hallo Timeport, ich fürchte das geht leider nicht anders. aber keine Sorge das ist in deinem fall, glaub ich, nicht wirklich schwierig. sollen wir es mal versuchen oder möchtest du dir was anderes überlegen?

Timeport
06.08.2001, 09:12
ich weiss irgendwie nich wie ich das angehen soll. Hast Du einen Tip?

Timeport

martiniz
06.08.2001, 09:18
Also fangen wir mal ganz von vorn an. wir machen jetzt erstmal ein feld als test und schauen, ob su funzt. Alles klar?

wir machen jetzt nur das kriterium "KLEINER ALS". du mußt jetzt wissen, ob du werte vorgeben willst oder nicht. ich würde, wenn nur eine auswahl von 0-9 möglich ist, die werte vorgeben, damit kein anderer user mal was anderes eingeben kann. das löst man mit einem kombi feld.

wenn du das eledigt hast machen wir weiter.

Timeport
06.08.2001, 09:25
OK, Feld ist fertig (Kombinationsfeld), Werte (1-9) werden aus der Tabelle genommen.

martiniz
06.08.2001, 09:32
so. wie heißt dein kombifeld?

Timeport
06.08.2001, 09:40
Das Kombifeld heist Kombinationsfeld77, die vorgegebenen Daten kommen aus der Tabelle: Maklerprofil Feld: Erreichbarkeit

martiniz
06.08.2001, 09:49
Also du nennst das feld irgendwie anders. ich gebe für den Namen zwei eckige klammern [] ein und du ersetzt dies dann bitte.

soll es mit einem button gelöst werden oder mit einer nach aktualisieren- prozedur?

Timeport
06.08.2001, 09:54
Mit einer nach aktualisieren prozedur.

martiniz
06.08.2001, 10:04
Alles klar! also du gehst auf nach aktualisiern und stellst dort ereignisprozedur ein und klickst danach uaf den button mit den drei punkten [...]

so jetzt sind wir drin(Hä)

ich schreibe dir jetzt den code auf.

Dim strX as Single

strX = []

me.filter = "[] < " & strX
me.filteron = true

poste mir dann dein coding wie du es übernommen hast und ob es klappt.

Timeport
06.08.2001, 10:15
Der Code sieht nun so aus:

Private Sub Test_AfterUpdate()
Dim strX As Single

strX = Test

Me.Filter = "test < " & strX
Me.FilterOn = True

End Sub

beim probieren bekomme ich dann folgende Meldung: Laufzeitfehler'7752' Microsoft Access kann den Filter nicht anwenden da alle Datensätze gesperrt sind.

Timeport
06.08.2001, 10:27
sorry, hab mir die Sperrung selber eingebaut, hab sie jetzt rausgenommen. Nun passiert folgendes: Fehler 13 Typen unverträglich

martiniz
06.08.2001, 10:29
dann versuche folgendes:

gehe auf formeigenschaften-> ALLE -> Bearbeitungen zulassen

alle felder, in denen du tatsächlich nichts ändern lassen willst stelle die werte der felder in daten auf gesperrt ja

versuche es erneut und schreib was passiert.

martiniz
06.08.2001, 10:32
mach mal aus der zeile

Dim strX as Single

das hier

Dim strX as string

Timeport
06.08.2001, 10:36
bearbeiten steht auf ja, es wird aber immer nur ein Datensatz gefiltert, welcher aber nicht im Unterform angezeigt wird. Das Form ist an eine Abfrage gebunden wo ich auch nach vielen anderen Kriterien selektieren kann. Gibt das keine Probleme?

martiniz
06.08.2001, 10:45
also wenn ich dich richtig verstehe filtert er oder? er filtert aber nur einen datensatz und es sollten mehrere sein?

Timeport
06.08.2001, 11:06
also, ich hab unten 2 Leisten, einmal wird grundsätzlich die Anzahl aller Datensätze angezeigt und in der anderen (gehört zum UF) werden eigentlich die selektierten Datensätze angezeigt. Gebe ich nun eine Zahl ein erscheint dort wo die grundsätzliche Anzahl steht (normal 1 von 59) 1 von 1 (gefiltert). Zum einen sollte dies in der Zeile des UF stehen und zum anderen sollten das mehr als ein Datensatz sein.

martiniz
06.08.2001, 11:19
hast du dein ufo auf endlosformular gestellt oder auf einzelformular. stell es auf endlos und versuch es nochmal

Timeport
06.08.2001, 11:29
ich hab keine Ahnung wo das gehen soll. Besteht vielleicht die Möglichkeit das ich dir eine abgespeckte Version meiner DB per mail zukommen lasse?

martiniz
06.08.2001, 12:10
Hi,
war gerade in der Mittagspause.

in der entwurfsansicht -> formulareigenschaften-> Alle-> Standardansicht auf endlosformular setzen.

hab selber gerade 'n bisl streß. des biegen wir auch so hin. wenn nicht kannst du es mir immer noch schicken. ich schau es mir dann an. aber wir versuchen es ersteinmal so.

Timeport
06.08.2001, 12:16
Steht bereits auf Endlosformular?!?

Hat's geschmeckt?

Gruß

Timeport

martiniz
06.08.2001, 12:26
ja, danke!

also da dein ufo auf endlosform eingestellt ist liegt es an was anderem.

hast du mal mehrere versch. filterungen vorgenommen und beobachtet was passiert.

am besten versuchen es mal so:

Private Sub Test_AfterUpdate()
Dim strX As String

strX = Test

debug.print "Test < " & strX
'Me.Filter = "Test < " & strX
Me.FilterOn = True


End Sub

wenn du das ausgeführt hast öffnest du das testfenster (ziemlich genau in der mitte der symbolleiste) und kopierst das was unten steht raus und postest es mir wieder zu.

PS: was hat dein ufo für einen Datenherkunft?
kannst du es nicht ohne ufo lösen?

Timeport
06.08.2001, 13:41
wenn ich den neuen Code eingebe passiert genauso wenig wie vorher. Leider kann ich das UF nicht weglassen da es an eine Abfrage gebunden ist. Die Abfrage wird durch unser Problemform gefüttert (ca. 30 verschiedene Selektionskriterien). Die im UF angezeigten Datensätze werden dann per klick darauf in einen Bericht geschossen. Leider muss ich jetzt erstmal schluss machen da noch andere Arbeit ruft. Bin aber später oder morgen wieder hier. Danke schonmal...bis später

Timeport