PDA

Vollständige Version anzeigen : Eigenreihenfolge definieren


Bohaberl
01.04.2004, 08:59
Morgen ihr Lieben,

Zweck der Definition:

Ich würde gerne festlegen, dass man erst was in mein Unterformular SchnittzeitenUnter eintragen kann, wenn man zuerst etwas in das Textfeld Titel eingetragen hat. Auch soll erst nach Eingabe in das Textfeld Titel der "Datensatz drucken" Knopf erscheinen.

Möglischer Lösungsansatz:

Ich denke an eine Prozedur nach Aktualisierung des Feldes Titel.



IF Titel ungleich "" (Leer)

setze Knopf "Datensatz drucken" / Sichtbar = Ja
setze Unterformular "SchnittzeitenUnter" / Daten gesperrt = Nein

End IF

Nätürlich hapert es wieder beim Code. Dennoch bin ich mir sicher, dass es mir gelingt - wenn ich erst einmal die entspechenden Codes kenne - diese auch auf Anderweitiges zu übertragen. So würde ich beim öffnen des Hauptformulars den Knopf Verstecken und das Unterformular sperren lassen.

Wäre super, wenn man mir den Code verraten würde :)

Gruss Boris

reinir
01.04.2004, 09:18
probiers mal so, wenn im Textfeld Titel etwas eingetragen wurde:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> Titel_BeforeUpdate(Cancel <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>)
<span class="TOKEN">If</span> <span class="TOKEN">Not</span> IsNull(Me!Titel) <span class="TOKEN">Then</span>
cmdPrint.Visible = <span class="TOKEN">True</span> <span class="REM">' mu&szlig;t Du eventuell an Deine Namen anpassen</span>
<span class="REM"> ' Achtung NICHT FormName sondern Name des Herkunftsobjektes im HauptForm verwenden</span>
<span class="REM"> 'Me!SchnittZeitenUnter.Form.Enabled = False</span>
Me.SchnittZeitenUnter.Form.Visible = <span class="TOKEN">True</span>
Me.SchnittZeitenUnter.Form.AllowEdits = <span class="TOKEN">True</span>
Me.SchnittZeitenUnter.Form.AllowAdditions = <span class="TOKEN">True</span>
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

in diesem Fall bin ich auch davon ausgegangen, dass das UForm auch auf unsichtbar war ... kannst Du aber problemlos weglassen ...

jetzt müßte auch der Code klappen um diese Eigenschaften vorher einzustellen.....

Bohaberl
01.04.2004, 09:41
Danke reinir,

dummerweise zeit er mir eine Fehlermeldung, sobald ich die Prozedur veranlasse.

Aus Testzwecken habe ich den Code nun auf


<b>Private Sub Titel_AfterUpdate(Cancel As Integer)

Me.SchnittzeitenUnter.Form.AllowEdits = True

End Sub</b>


reduziert. Jedoch meldet er sich immernoch mit:

Sie haben eine EInstellung der Ereigniseigenschaft den Ausdruck Nach Aktualisierung eingegeben. Dieser Ausdruck hat einen fehler verursacht: Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen.

Hat es zufällig etwas damit zu tun, dass reinirs Code eine Prozedur vor Aktualisierung beschreibt und ich diesen auf eine Prozedur nach Aktualisierung anwende?

mfG Boris

Bohaberl
01.04.2004, 09:46
Ich habe es nun vor Aktualiserung probiert und es klappt :)


jedoch meckert er bei:

<B> cmdDatensatzdrucken.Visible = True </B>

Also der Knopf heisst Datensatzdrucken .... gebe ich de Namen so richtig an?

stpimi
01.04.2004, 09:48
Ich würde mal vermuten, daß Dein Textfeld nicht wirklich "Titel" heisst. Schau mal in den Feldeigenschaften unter Andere/Name nach.

Mfg, Michael

reinir
01.04.2004, 09:51
die fehlermeldung wäre auch intressant...
nur mit "jetzt meckert er" ist ein wenig wenig zum analysieren :confused:

Bohaberl
01.04.2004, 10:05
Moin,

das Textfeld Titel heisst Titel *nachgeschaut hat*

Wenn ich die Zeile <B>cmdDatensatzdrucken.Visible = True </B> durch ein ' deaktiviere kommt <u>Nicht</u> die Fehlermeldung:

Laufzeitfehler '424':
Objekt erforderlich

-> Debuggen und <B>cmdDatensatzdrucken.Visible = True </B> ist gelb hinterlegt.

Bohaberl
01.04.2004, 10:15
Ohne cmdDatensatzdrucken.Visible = True funktioniert es übrigends bestens mit dem Unterformular :)

*weiter rumtest wegen dem knopf datensatzspeichern*

genschman
01.04.2004, 10:17
Hallo,

Zeile cmd Datensatzdrucken.Visible

Also der Knopf heisst Datensatzdrucken

grübel grübel und studier,

Sherlock Holmes würde hier meinen:
"Watson, hier passt etwas nicht zusammen"

:biggrinl: :confused:

Bohaberl
01.04.2004, 10:18
Das Rumtesten hat was gebracht ...

hab den Knopf einfach drucken genannt und steuer nun mit diesem Befehl

<B>Drucken.Visible = True<BR>

Danke euch :)

reinir
01.04.2004, 10:33
ok hätt ich auch sehen können

cmdPrint war in meinem Bsp. der NAME der Befehlschaltfläche ....