Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Textfeld mit letztem Wert aus Tabelle/Formular füllen
zurück: Löschen im Unterformular --> Löschen im Haupt-Formular weiter: Formularaufbau wie Pivot-Tab. mit nicht existierenden Daten Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
GregorJ
Tüftler


Verfasst am:
25. Feb 2006, 00:20
Rufname:

Textfeld mit letztem Wert aus Tabelle/Formular füllen - Textfeld mit letztem Wert aus Tabelle/Formular füllen

Nach oben
       

Hallo,

ich habe eine Tabelle mit Preisen,
diese Tabelle wird über ein Formular gefüllt,
damit nicht jedes mal der Preis neu geschrieben werden muss,
soll als Standardwert der letzte Eintrag der Tabelle,
oder besser noch des letzten Datensatzes im Formular, da das Formular gefiltert wird,
übernommen werden.

welche Lösung gibt es dafür?

Gregor
stpimi
Moderator Access


Verfasst am:
25. Feb 2006, 08:26
Rufname:
Wohnort: Graz


AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen - AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen

Nach oben
       

FAQ 4.22 Standardwert aus vorherigem Datensatz von Karl Donaubauer könnte weiterhelfen.
_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!
GregorJ
Tüftler


Verfasst am:
07. März 2006, 00:07
Rufname:

Standartwert vom letztem Eintrag übernemen - Standartwert vom letztem Eintrag übernemen

Nach oben
       

GregorJ am 27. Feb 2006 um 03:03 hat folgendes geschrieben:
Danke für den Tipp

ich habe dort viele nette Sachen gefunden,
die ich auch verarbeiten konnte,
aber nicht's was ich in diesem Fall benötige.

Gregor

Hallo,

ich versuche mich immer noch an einem Problem,

ich habe eine Liste mit Daten,
nun soll beim neuen Datensatz der Wert vom dem letzten übernommen werden.

Grund: die Daten ändern sich nicht immer und damit das Formular
nicht immer vollständig ausgefüllt werden muß,
sondern nur die Abweichungen geändert werden müssen.

wie kann ich das machen?

Gregor
Willi Wipp
Moderator


Verfasst am:
08. März 2006, 10:44
Rufname:
Wohnort: Raum Wiesbaden

Re: Textfeld mit letztem Wert aus Tabelle/Formular füllen - Re: Textfeld mit letztem Wert aus Tabelle/Formular füllen

Nach oben
       

Hi GregorJ,

wie entscheidest Du denn das ein neuer DS angelegt wird?
Machst Du das ueber eine Befehelsschaltflaeche?
Ist das automatische Anlegen {Anfuegen zulassen (AllowAdditions)}von neuen DS gesperrt?
In welchem Augenblick sollen sich denn die Standardwerte (DefaultValue) aendern?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
GregorJ
Tüftler


Verfasst am:
09. März 2006, 00:05
Rufname:


AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen - AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen

Nach oben
       

Hallo Willy,

ich habe ein Formular das auf eine Tabelle zugreift,
nun kann ich darüber einen neuen Datensatz eingeben,
da soll nun im neuen Datensatz als Standart die werte des letzten
Datensatz stehen.

Ich habe mal die Datei Liste-Firmen-Leute_05.mdb zum Download bereit gestellt,
vielleicht ist das dann einfacher zu verstehen.
zur Anmeldung, Benutzer"Erster" Paswort=1 oder "Zweiter" Passwort=2
es geht um das Formular "MAFO-Truhensituation"

Danke

Gregor
Willi Wipp
Moderator


Verfasst am:
16. März 2006, 13:50
Rufname:
Wohnort: Raum Wiesbaden

Re: Textfeld mit letztem Wert aus Tabelle/Formular f... (II) - Re: Textfeld mit letztem Wert aus Tabelle/Formular f... (II)

Nach oben
       

Hi GregorJ,

das wird etwas komplizierter Wink
Als erstes ist die Frage ob es sinnvoll ist eine mit Passwort geschuetzte DB als Beispiel zu Posten.
So kann man ja nichtmal die Verweise korrigieren Wink

Spass beiseite.
Welchen DS moechtest Du denn als Letzten definieren?
Zu welchem Zeitpunkt sollen die Daten aus dem letzten DS uebernommen
bzw. als Standardwert gesetzt werden?
Soll das passiern sobald Du eauf einen neuen DS gehst?
Dann wuerde beim Uebernehmen => Setzen der Werte in den aktuellen (neuen) DS der DS sofort angelegt.
Oder sollen nur die Standardwerte geaendert werden?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 17. März 2006, 10:18, insgesamt einmal bearbeitet
GregorJ
Tüftler


Verfasst am:
16. März 2006, 23:24
Rufname:

AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen - AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen

Nach oben
       

Hallo Willi,

danke, das du das Thema noch mal aufgegriffen hast,
dieses Projekt existiert zwar nur in meiner Fantasie,
aber es ist ein Lernobjekt für mich.

Ich habe die DB MAFO (MAFO.mdb) noch mal separat aufgebaut.

Es werden beim öffnen des Unterformulars MAFO nur die Daten angezeigt,
die dem übergeordneten Formular Stammdatensatz zugehören.

Mein Anliegen ist nun:

Situation 1
Ich öffne den Kunde1001 und dazu das MAFO Formular,
es gibt noch keine MAFO zu diesem Kunden,
also sollen alle Felder lehr sein

Situation 2
Ich öffne den Kunde1002 und dazu das MAFO Formular
es gibt schon eine MAFO zu diesem Kunden,
also sollen die Felder bei einem neuen Datensatz,
die Werte des letzten Datensatzes(48) in dieser Filterung MAFO
als Standartwert beinhalten.

oder öffne Kunde1003 und dazu das MAFO Formular
es gibt schon zwei MAFO zu diesem Kunden,
also sollen die Felder bei einem neuen Datensatz,
die Werte des letzten Datensatzes(50) in dieser Filterung MAFO
als Standartwert beinhalten.

Gregor
___________
wissen macht ah
Willi Wipp
Moderator


Verfasst am:
17. März 2006, 11:16
Rufname:
Wohnort: Raum Wiesbaden

Re: Textfeld mit letztem Wert aus Tabelle/Formular f...(III) - Re: Textfeld mit letztem Wert aus Tabelle/Formular f...(III)

Nach oben
       

Hi GregorJ,

Ich habe mich jetzt mal fuer das aendern des Standardwertes entschieden.
Folgende Steuerelemente musst Du vom Namen her anpassen:
Firma -> Firma_lbl
Text26 -> Firma
Datum_Kalender -> Anlage_Datum_MAFO-LEH-TS
Neu -> Anlage_Zeit_MAFO-LEH-TS
Neu -> MC_F_3
Neu -> MC_P_3
Neu -> MC_A_3

Neu:
Entweder ein neues (unsichtbares) Steurelement auf dem Formular anlegen
oder das entsprechende Feld aus der Datenherkunft (RecordSource) entfernen.
Dann sollte es mit dem Formular-Ereignissen Beim Anzeigen (Current) so funktionieren
Code:
Option Compare Database
Option Explicit

Private Sub Form_Current()
    Set_DefaultValues
End Sub

Private Sub Form_Open(Cancel As Integer)
'    Set_DefaultValues 'nicht wirklich noetig!
End Sub

Private Sub Kalender_Click()
    Dim Tmp As Variant
   
    Tmp = DatumsDialog(Me!Datum_Kalender, Me!chkNurWerktage)
    If Not IsNull(Tmp) Then Me![Anlage_Datum_MAFO-LEH-TS] = Tmp
End Sub

Private Sub Set_DefaultValues()
    Dim fld As DAO.Field
   
    With Me.RecordsetClone
        If Not (.EOF And .BOF) Then
            .MoveLast
            'Voraussetzung:
            ' Alle Felder aus der RecordSource sind auf dem Formular
            ' und die Steuerelemente haben den gleichen Namen!
            ' Sonst muss die Zuweisung von Hand gemacht werden!
            ' Es sind nur die in der aktuellen RecordSource verwendeten
            ' Felddatentypen abgefangen!
            For Each fld In .Fields
                Select Case fld.Type
                  Case dbText
                    Me("[" & fld.Name & "]").DefaultValue = "'" & fld & "'"
                  Case dbBoolean, dbLong
                    Me("[" & fld.Name & "]").DefaultValue = fld
                  Case dbDate
                    If fld.Name = "Anlage_Zeit_MAFO-LEH-TS" Then
                        Me("[" & fld.Name & "]").DefaultValue = _
                                                  Format$(fld, "\#hh:nn:ss\#")
                      Else
                        Me("[" & fld.Name & "]").DefaultValue = _
                                                Format$(fld, "\#yyyy-mm-dd\#")
                    End If
                  Case dbDecimal
                    Me("[" & fld.Name & "]").DefaultValue = Str(fld)
                  Case Else
                    MsgBox "Nicht abgefangener Felddatentyp: " & fld.Type
                End Select
            Next fld
        End If
    End With
End Sub
Es ist auch moeglich z.B. mit einer Kombination der Formular-Ereignisse
Beim Oeffenen (Open) und Nach Aktualisierung zu arbeiten.
Ebenso kann man einige Felder von der Aenderung des Standardwertes (z.B. Datum und Zeit) ausnehmen... z.B.
Code:
                  Case dbDate
                    If fld.Name = "Anlage_Datum_MAFO-LEH-TS" Or _
                       fld.Name = "Anlage_Zeit_MAFO-LEH-TS" Then
                        'Nicht aendern
'                   If fld.Name = "Anlage_Zeit_MAFO-LEH-TS" Then
'                        Me("[" & fld.Name & "]").DefaultValue = _
'                                                  Format$(fld, "\#hh:nn:ss\#")
                      Else
                        Me("[" & fld.Name & "]").DefaultValue = _
                                                Format$(fld, "\#yyyy-mm-dd\#")
                    End If

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
GregorJ
Tüftler


Verfasst am:
12. Dez 2006, 10:05
Rufname:

Problem mit leeren Zellen - Problem mit leeren Zellen

Nach oben
       

GregorJ am 17. März 2006 um 13:32 hat folgendes geschrieben:
Danke Willi,

das funktioniert so Smile DB MAFO (MAFO.mdb)

super nett von Dir

Gregor

GregorJ am 18. März 2006 um 11:45 hat folgendes geschrieben:
geht doch nicht ganz,
wenn ich das so mache,
wird mit jedem neuen Datensatz in MAFO
auch ein neuer Datensatz in Stammdaten erzeugt.

Ich habe rum getüftelt, aber es blieb mir nur die Möglichkeit,
mich von der Tabelle Stammdaten zu trennen,
also habe ich in Tabelle MAFO-LEH-Truhensituation,
noch zwei Spalten hin zu gefügt "Firma" und "Kundennummer",
im Form_MAFO-LEH-Truhensituation bei Datenherkunft die Stammdaten entfernt,
dann die Standartwerte der Textfelder "Firma" und "Kundennummer" festlegen,

nun gab es noch den Laufzeitfehler 438:
Objekt unterstützt diese Eigenschaft oder Methode nicht
an dieser Stelle:
Code:
                  Case dbBoolean, dbLong
                    Me("[" & fld.Name & "]").DefaultValue = fld
darum habe ich den Code abgeändert:
Code:
                  Case dbText
                    If fld.Name <> "Firma" Then
                        Me("[" & fld.Name & "]").DefaultValue = "'" & fld & "'"
                    End If
                  Case dbBoolean, dbLong
                    If fld.Name <> "Kundennummer" Then
                        Me("[" & fld.Name & "]").DefaultValue = fld
                    End If
So geht's bis jetzt.
___________________
DB MAFO (MAFO.mdb)
Gregor

Hallo,

ich habe ein Problem mit leeren Zellen
wenn ich die leeren Felder nicht mit 0 fülle,
gibt es Problem beim neuen Datensatz.


Beispiel: DB MAFO (MAFO.zip)
Code:
Private Sub Set_DefaultValues()
    Dim strFieldName    As String
    Dim fld             As DAO.Field
   
    With Me.RecordsetClone
        If Not (.EOF And .BOF) Then
            .MoveLast
            'Voraussetzung:
            ' Alle Felder aus der RecordSource sind auf dem Formular
            ' und die Steuerelemente haben den gleichen Namen!
            ' Sonst muss die Zuweisung von Hand gemacht werden!
            ' Es sind nur die in der aktuellen RecordSource verwendeten
            ' Felddatentypen abgefangen!
            strFieldName = "[" & fld.Name & "]"
            For Each fld In .Fields
                Select Case fld.Type
                  Case dbText
                    If fld.Name = "Firma" Then
                      Else
                        Me(strFieldName).DefaultValue = "'" & fld & "'"
                    End If
                  Case dbBoolean, dbLong
                    If fld.Name = "Kundennummer" Then
                      Else
                        Me(strFieldName).DefaultValue = fld
                    End If
                    'If fld.Name = "Nummer" Then
                    '    'Nummer wird im Form_BeforeInsert Ereigniss generiert
                    '    Me(strFieldName).DefaultValue = fld + 1
                    '  Else
                    '    Me(strFieldName).DefaultValue = fld
                    'End If
                  Case dbDate
                    If fld.Name = "Anlage_Datum" Or _
                       fld.Name = "Anlage_Zeit" Then
                        'Nicht aendern
'                        If fld.Name = "Anlage_Zeit_MAFO-LEH-TS" Then
'                            Me(strFieldName).DefaultValue = _
'                                                  Format$(fld, "\#hh:nn:ss\#")
                      Else
                        Me(strFieldName).DefaultValue = _
                                                Format$(fld, "\#yyyy-mm-dd\#")
                    End If
                  Case dbByte
                    Me(strFieldName).DefaultValue = str(fld)
                  Case dbDecimal
                    Me(strFieldName).DefaultValue = str(fld)
                  Case dbSingle
                    Me(strFieldName).DefaultValue = str(fld)
                  Case dbInteger
                    Me(strFieldName).DefaultValue = str(fld)
                  Case dbMemo
                    Me(strFieldName).DefaultValue = "'" & fld & "'"
                  Case Else
                    MsgBox "Nicht abgefangener Felddatentyp: " & fld.Type
                End Select
            Next fld
        End If
    End With
End Sub
ein Laufzeitfehler 94 "Unzulässige Verwendung von Null" kommt
kommt in Zeile 82 und 84 bei Case dbByte und Case dbDecimal
Code:
        Me(strFieldName).DefaultValue = fld
was mache ich falsch?

Gregor
Willi Wipp
Moderator


Verfasst am:
17. März 2007, 06:04
Rufname:
Wohnort: Raum Wiesbaden

Re: Textfeld mit letztem Wert aus Tabelle/Formular f...(IV) - Re: Textfeld mit letztem Wert aus Tabelle/Formular f...(IV)

Nach oben
       

Hi GregorJ,

Null-Wert kann man z.B. mit Nz abfangen.
Die Definition des Feldnamens hattest Du ausserhalb der Schleife!
==> Der Standardwert wuerde immer dem gleichen Feld zugewiesen ;)
Code:
Private Sub Set_DefaultValues()
    Dim fld     As DAO.Field
    Dim ctl     As Control
    Dim varDV   As Variant 'DefaultValue
   
    With Me.RecordsetClone
        If Not (.EOF And .BOF) Then
            .MoveLast
            'Voraussetzung:
            ' Alle Felder aus der RecordSource sind auf dem Formular
            ' und die Steuerelemente haben den gleichen Namen!
            ' Sonst muss die Zuweisung von Hand gemacht werden!
            ' Es sind nur die in der aktuellen RecordSource verwendeten
            ' Felddatentypen abgefangen!
            For Each fld In .Fields
                varDV = Nz(fld, "")
                Set ctl = Me.Fields("[" & fld.Name & "]")
                Select Case fld.Type
                  Case dbText, dbMemo
                    If fld.Name <> "Firma" Then
                        ctl.DefaultValue = "'" & varDV & "'"
                    End If
                  Case dbBoolean, dbLong, dbByte, dbInteger
                    If fld.Name <> "Kundennummer" Then
                        ctl.DefaultValue = varDV
                    End If
                  Case dbDate
                    If fld.Name = "Anlage_Datum" Or _
                       fld.Name = "Anlage_Zeit" Then
                        'Nicht aendern
                      Else
                        ctl.DefaultValue = Format$(varDV, "\#yyyy-mm-dd\#")
                    End If
                  Case dbDecimal, dbSingle, dbDouble
                    Me(strFieldName).DefaultValue = str(varDV)
                  Case dbMemo
                    Me(strFieldName).DefaultValue = "'" & varDV & "'"
                  Case Else
                    MsgBox "Nicht abgefangener Felddatentyp: " & fld.Type
                End Select
            Next fld
        End If
    End With
    Set ctl = Nothing
    Set fld = Nothing
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
GregorJ
Tüftler


Verfasst am:
18. März 2007, 21:16
Rufname:


AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen - AW: Textfeld mit letztem Wert aus Tabelle/Formular füllen

Nach oben
       

Danke
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: kein Wert in der Tabelle, dann immer Null (0)?? 3 Michel_9 1005 26. Mai 2004, 14:28
Michel_9 kein Wert in der Tabelle, dann immer Null (0)??
Keine neuen Beiträge Access Tabellen & Abfragen: Kriterien für Aktualisierungs-Abfrage als Formular 1 Gingi 870 15. Mai 2004, 13:00
borstel Kriterien für Aktualisierungs-Abfrage als Formular
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Mehrmalige Abfrage durch Formular 11 Wickiman 897 03. Mai 2004, 15:23
Willi Wipp Mehrmalige Abfrage durch Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Zeilenumbruch nach Einfügen Word Tabelle 2 topflop 1698 30. März 2004, 16:06
Gast Zeilenumbruch nach Einfügen Word Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: datensatz aus mehreren Tabellen im formular anzeigen 1 SixPack 1197 29. März 2004, 10:53
Willi Wipp datensatz aus mehreren Tabellen im formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit % Wert 1 Seppi 474 25. März 2004, 22:28
reke Abfrage mit % Wert
Keine neuen Beiträge Access Tabellen & Abfragen: Wert einer Abfrage in Tabelle kopieren? 1 BerlinerWolf 2009 21. März 2004, 12:43
Maya Wert einer Abfrage in Tabelle kopieren?
Keine neuen Beiträge Access Tabellen & Abfragen: Daten als Spaltenüberschriften einer anderen Tabelle 1 Melburnt 685 03. März 2004, 17:11
lothi Daten als Spaltenüberschriften einer anderen Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld im Formular als Kriterium für eine Abfrage 1 gunderma 2621 03. März 2004, 10:05
tania63 Kombinationsfeld im Formular als Kriterium für eine Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus Formular erstellen 2 frkrone 3248 12. Feb 2004, 14:22
frkrone Abfrage aus Formular erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich ein Formular erstellen ? 1 Gast 683 01. Feb 2004, 13:34
borstel Wie kann ich ein Formular erstellen ?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Project