Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

felder automatisch ausfüllen

Begonnen von georg5, September 20, 2012, 16:47:45

⏪ vorheriges - nächstes ⏩

georg5

@wurliwurm
@69bruno

vielen dank für eure Unterstützung
hab mein Formularkonzept als Anlage beigefügt.
Irgendwas funkt noch nicht. ???
vielleich könnt ihr mir den gesammt notwendigen code nochmals posten...vieleich hab ich was übersehen

[Anhang gelöscht durch Administrator]

Wurliwurm

Zitat von: georg5 am September 21, 2012, 13:36:28
hab mein Formularkonzept als Anlage beigefügt.

Der Code ist ausführlichst kommentiert gepostet worden. Wie können hier gerne best practices und Tricks verraten und einem weiterhelfen, der gerade hängt, aber mit Ereignissen und Sub-Routinen mußt Du dich schon eigeninitiativ vertraut machen.

Anhand dem Bild kann man nicht sehen, wie die Felder technisch heißen und welcher Fehler auftritt. Dazu mußt Du die Access-Datei posten.

georg5

@wurliwurm

hab ja nur gefragt......
es ist halt kaum möglich die ganze angelegenheit zu lernen wennst keinen lehrer hast.
Es liegt halt oft an den einfachsten fragen, die für dich selbstverständlich sind und für mich als "beginner" nicht.

schreibts du beide codes in die selbe ereignisprozedur zum ausfüllen?

derzeitiger fehler: end if ohne if-block   

danke

DF6GL

Hallo,

ich denke, hier wird mit Kanonen auf Spatzen geschossen und doch nicht getroffen...


@georg5:  Lad die Db mal hier hoch und beschreibe anhand der Formular- und Textfeldnamen, wo was genau passieren soll...

69bruno

 :D

Mag sein, aber ein Spatz hat auch nur einen Flügel.

Wie der Fehler schon sagt, steht im Code irgendwo end if, aber vorher kein If ....then
Also zähle die If's und die End if's.
Wenn Du das nach der Reihenfolge machst, wie sie im Code auftauchen, wirst Du wohl 2 mal ein end if finden, aber vorher keine 2 If's gehabt haben...........
If Brain <= requestoutofPost then
  PostonForum "Ich verstehe Dein Problem nicht....."
Else
  PostonForum "Denk erst mal über die Normalisierung nach......"
End If

georg5

so....ich glaub ich muss mein problem nochmals beschreiben anhand der hochgeladenen datenbank (relevanten Teile, bei 200kb bleibt nicht mehr viel übrig).

Formular >Prognose FMA<

jetzt sind wir bei besagtem Formular:
In diesem Formular hätte ich gerne eine Ausfüllhilfe programmiert. Jede Datenzeile = >LG< (117stk) hat eine bestimmte Restsumme zugeordnet bekommen. Diese Restsumme wird anhand der Faktoren der Felder AZ25_01_13 usw. auf die jeweiligen Spalten  aufgeteilt. Das Ganze wird 117mal durchgeführt. Als Ergebniss erhate ich einen Plan (noch nicht gertig) von AZ25_01_13 = Jänner 2013 bis AZ99_03_19 = März 2019 mit den Prognosesummen.

Nochmals vielen Dank für eure Hilfe...und ich weis meine DB ist nicht profimäßig  :'(

[Anhang gelöscht durch Administrator]

DF6GL

#21
Hallo,



unabhängig vom Aufbau der Db...

welcher Teil der Textfeldnamen soll jetzt für die Angabe "von"  und "bis" hergenommen werden?


Die Namen sind ja nun nicht in der Form wie anfänglich beschrieben...

Am Besten benennst Du zunächst die einzelnen Textfelder in einer berechenbaren Form, z. B.:

AZ25 , AZ26 , AZ27 , ....

[Anhang gelöscht durch Administrator]

georg5

welcher Teil der Textfeldnamen soll jetzt für die Angabe "von"  und "bis" hergenommen werden?: versteh deine Frage nicht. Den im feld "Faktor" eingesetzte Wert soll in die Felder von: zb AZ25 bis zb AZ33 im geweiligem "LG" ausgefüllt werden.


Die Namen sind ja nun nicht in der Form wie anfänglich beschrieben...: sorry mein Fehler.

Am Besten benennst Du zunächst die einzelnen Textfelder in einer berechenbaren Form, z. B.:: siehe aktualisierte Anlage

DANKE

[Anhang gelöscht durch Administrator]

DF6GL

#23
Hallo,

aber so nicht     ;)


Mit Textfelder habe ich die Textfelder gemeint, nicht die Tabellenfeldnamen (bzw. Steuerelementinhalt-Angaben) oder Bezeichnungsfelder-Beschriftung...


Siehe auch die nachträglich angehängte Anlage in meinem letzten Posting. Dort habe ich die Originalnamen benutzt.



georg5

hi,

ich steh auf der Leitung ???
welche Textfelder meinst du.....

georg5

sorry hab die leitung schon wieder verlassen und die Textfelder berechenbar gemacht........jedoch erscheint als Fehler Wert"von" ist nicht numerisch ?????
was fehlt noch .... wo ist der Denkfehler?

@ DF6GL: bei deiner positigDB hats doch schon funktioniert? oder

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

damit die Felder AZ25_xxxx   bis  AZ30_xxxx  mit dem eingebenen Faktor multipliziert werden, sollte bei "Von"  25 und bei  "bis" 30 eingetragen werden.


georg5

ja Danke, das funktioniert aber nur fallweise und das nur beim ersten Datensatz (LG)
der bereits eingetragenen Wert wird auch nicht überschrieben sondern zum autom. Faktor addiert?
Die Hilfe bringt mich zur Verzweiflung ???

DF6GL

Hallo,


was heißt denn "fallweise"?

Es funktioniert beim angezeigten Datensatz.....

"bereits eingetragenen Wert wird auch nicht überschrieben sondern zum autom. Faktor addiert?"

Nein, siehe Bilder...



oder Du meinst etwas anderes, als Du sagst....




Private Sub Befehl173_Click()

Dim intVon As Integer
Dim intBis As Integer
Dim dblFaktor As Double
If IsNumeric(Me!von) Then
intVon = Me!von
Else
MsgBox "Wert Von ist nicht numerisch!   ", vbCritical
Exit Sub
End If
If IsNumeric(Me!bis) Then
intBis = Me!bis
Else
MsgBox "Wert Bis ist nicht numerisch!   ", vbCritical
Exit Sub
End If
If intVon > intBis Then
MsgBox "Von größer bis!   ", vbCritical
Exit Sub
End If
If IsNumeric(Me!faktor) Then
dblFaktor = Me!faktor
Else
MsgBox "Wert Faktor nicht numerisch!   ", vbCritical
Exit Sub
End If
Call FelderVorbelegen(intVon, intBis, dblFaktor)
End Sub
     
Private Sub FelderVorbelegen(ByVal intVon As Integer, ByVal intBis As Integer, ByVal dblFaktor As Double)
Dim ctl As Control

For Each ctl In Me.Controls
On Error Resume Next
If Mid(ctl.Name, 3, 2) >= Me!von And Mid(ctl.Name, 3, 2) <= Me!bis Then
ctl.Value = ctl.Value * Me!faktor
End If
Next
End Sub


[Anhang gelöscht durch Administrator]

georg5

hi,

wenn in den Textfelder (AZ25 bis AZ99) kein Faktor eingetragen ist funktioniert die Routine leider nicht. Erst wenn ein Wert eingetragen (händisch) ist kann man über die Routine einen Wert automatisch eintragen jedoch wird der ergibt der Wert in den Feldern (AZ25-AZ99) plötzlich "vorher händisch eingetragener Wert x Wert aus dem Feld "Faktor" ????

Leider kann ich im Code keinen Fehler finden???

Hast du einen Tipp @DF6GL