Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
DS aus Listfeld -- Übergabe in neues Formluar -- Fehler :-(
zurück: vereinfachte n:m Zuordnung mittels Unterformular weiter: Code funktioniert in DB1 nicht in DB2 schon... 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
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jun 2010, 00:15
Rufname:

DS aus Listfeld -- Übergabe in neues Formluar -- Fehler :-( - DS aus Listfeld -- Übergabe in neues Formluar -- Fehler :-(

Nach oben
       Version: Office 2007

Hallo zusammen,

ich benötigte mal wieder eure Hilfe.

Ich würde gerne den mit einem Doppelklick im Listenfeld den ausgewählten Datensatz in ein neues Formluar übernehmen um diesen dann dort bearbeiten-
Listenfeld:
Line, VolvoID, GroupID, EbsID, PersID, Name, KST

gebundene Spalte 5 = PersID

Mein Code (frm_Mitarbeiter_Menu)
Code:
Private Sub lst_haupt_DblClick(Cancel As Integer)
'## Mit Doppelklick wird der angeklickte Datensatz zur Berarbeiterung im
'   Formular "frm_Mitarbeiter_edit" geöffnet
On Error GoTo Err_cmd_edit_Click
'## Variable wird deklariert
    Dim sql_edit As String
    Dim stDocName As String
    Dim stLinkCriteria As String
   
    Me.lst_haupt_ID = 0
'## ID wird aus dem Hilfsfeld im Hauptformular ausgelesen
    Id = Me.lst_haupt.Column(0, Me.lst_haupt.ListIndex)
'## Überprüfung ob ein Datensatz ausgewählt wurde
    If Id = Null Then
    '## Fehlermeldung, falls kein Datensatz ausgewählt wurde
        MsgBox "Bitte erst Datensatz auswählen!", 0, "FEHLER"
      Else
    '## Global glob_id As String im Modul glob
        glob_id = Id
        '## SQL-String für die Bearbeitung des ausgewählten Datensatzes
         sql_edit = "SELECT Line, VolvoID, GroupID, EbsID, PersID, [Name]," _
                        & " KST" _
                   & " FROM [dbo_tblVolvoUsers]" _
                  & " WHERE PersID=" & Id & "))"
        '## Das Formular frm_edit wird geöffnet
        stDocName = "frm_Mitarbeiter_edit"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
        '## Der oben eingelesne SQL-String wird als Datenquelle für das
        '   Formular "frm_Mitarbeiter_edit" eingesetzt
        Forms!frm_Mitarbeiter_edit.RecordSource = sql_edit
    End If
Exit_cmd_edit_Click:
    Exit Sub
Err_cmd_edit_Click:
    MsgBox Err.Description
    Resume Exit_cmd_edit_Click
End Sub
Im Formular frm_Mitarbeiter_edit habe ich 7 Textfelder mit dem Steuerelementinhalt Line, VolvoID, GroupID, EbsID, PersID,Name, KST hinterlegt

sowie folgenden Code
Code:
Private Sub Form_Open(Cancel As Integer)
'########## Die Variablen werden deklariert
    Dim sql_edit As String
    Dim Daten_ID As String

'########## Die ID des aktuell markierten Datensatzes wird aus dem Formular
'           "frm_Mitarbeiter_Menu" ausgelesen
    Daten_ID = 0
    Daten_ID = glob_id
'########## Der SQL-String für die Anzeige des Datensatzes im Formular
'           "frm_Mitarbeiter_edit" wird eingelesen
    sql_edit = "SELECT Line, VolvoID, GroupID, EbsID, PersID, [Name], KST" _
              & " FROM [dbo_tblVolvoUsers]" _
             & " WHERE [PersID],=" & Daten_ID & "))"
    DoCmd.RunSQL sql_edit
End Sub
Fehlermeldung
Wenn ich im frm_Mitarbeiter_Menu einen DS mit Doppelklick auswähle erhalte ich folgende Fehlermeldung
Zitat:
Überzählig: ) im Abfrageausdruck 'PersID = 7))'
Was bedeutet das??
Warum kommt hier die 7 , das ist ein Wert der in der Spalte Line steht..

Besten Dank im Voraus
nukro
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jun 2010, 01:37
Rufname:


AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hab mal ein leichtes Beispiel erstellt.
Schau dir das mal an, vielleicht hilft es dir...

Grüße



Listenfeld.rar
 Beschreibung:

Download
 Dateiname:  Listenfeld.rar
 Dateigröße:  11.02 KB
 Heruntergeladen:  21 mal

Willi Wipp
Moderator


Verfasst am:
09. Jun 2010, 06:10
Rufname:
Wohnort: Raum Wiesbaden

Re: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - Re: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hi MichaelB.,

an den Wert aus der erste Spalte kommst Du einfach mit
Code:
    Id = Me.lst_haupt.Column(0)
Beim Zusammensetzen das SQL-Codes lass doch einfach mal die 2 Klammern am Ende weg Wink
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jun 2010, 09:04
Rufname:

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hallo Willi Wipp,
hallo nukro

danke für euere schnelle Antwort.

Hab es jetzt auf 2 verschiedenen Varianten probiert aber leider ohne Erfolg.

1. Variante
Code:
Public Sub lst_haupt_DblClick(Cancel As Integer)
'## ID wird aus dem Hilfsfeld im Hauptformular ausgelesen
    ID = Me.lst_haupt.Column(0, Me.lst_haupt.ListIndex)
    DoCmd.OpenForm "frm_Mitarbeiter_edit", , , "ID"
End Sub
Meldung Paramtereingabe ID

Egal was ich eingebe es kommt immer der erste DS aus der tblVolvoUsers
die tblVolvoUsers wurde im frm_Mitarbeiter_edit als Datensatzquelle hinterlegt.

2. Variante
Code:
Private Sub lst_haupt_DblClick(Cancel As Integer)
'## Mit Doppelklick wird der angeklickte Datensatz zur Berarbeiterung im
'   Formular "frm_Mitarbeiter_edit" geöffnet
On Error GoTo Err_cmd_edit_Click
'## Variable wird deklariert
    Dim sql_edit As String
    Dim stDocName As String
    Dim stLinkCriteria As String
   
    Me.lst_haupt_ID = 0
'## ID wird aus dem Hilfsfeld im Hauptformular ausgelesen
    Id = Me.lst_haupt.Column(0, Me.lst_haupt.ListIndex)
'## Überprüfung ob ein Datensatz ausgewählt wurde
    If Id = Null Then
    '## Fehlermeldung, falls kein Datensatz ausgewählt wurde
        MsgBox "Bitte erst Datensatz auswählen!", 0, "FEHLER"
      Else
    '## Global glob_id As String im Modul glob
        glob_id = Id
        '## SQL-String für die Bearbeitung des ausgewählten Datensatzes
         sql_edit = "SELECT Line, VolvoID, GroupID, EbsID, PersID, [Name]," _
                        & " KST" _
                   & " FROM [dbo_tblVolvoUsers]" _
                  & " WHERE PersID=" & Id & ";"
        '## Das Formular frm_edit wird geöffnet
        stDocName = "frm_Mitarbeiter_edit"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
        '## Der oben eingelesne SQL-String wird als Datenquelle für das
        '   Formular "frm_Mitarbeiter_edit" eingesetzt
        Forms!frm_Mitarbeiter_edit.RecordSource = sql_edit
    End If
Exit_cmd_edit_Click:
    Exit Sub
Err_cmd_edit_Click:
    MsgBox Err.Description
    Resume Exit_cmd_edit_Click
End Sub
Meldung Paramtereingabe ID
Zitat:
Datentypen im Kiterienausdruck unverträglich.
die tblVolvoUsers wurde diesmal nicht als DS-Quelle im frm_Mitarbeiter_edit hinterlegt.
nukro
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jun 2010, 13:24
Rufname:


AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hi,
lade entweder deine Datenbank mal hoch (als Access 2000 bzw. 2003)

oder probiere mal folgenden Code:
Code:
Public Sub lst_haupt_DblClick(Cancel As Integer)
    DoCmd.OpenForm "frm_Mitarbeiter_edit", , , "ID=" & Me!lst_haupt.Column(0)
End Sub
Dazu muss im frm_Mitarbeiter als Datenherkunft die jeweilige Abfrage/Tabelle eingestellt sein.

Gruß
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Jun 2010, 23:40
Rufname:

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hallo nukro,

ich denke der Fehler liegt in -- Me!lst_haupt.Column(0) -- die Felder wurden in der Datenbank als Text definiert.

Anbei meine sehr verkürzte DB



DB.rar
 Beschreibung:
DB

Download
 Dateiname:  DB.rar
 Dateigröße:  81.88 KB
 Heruntergeladen:  14 mal

KlausMz
Moderator Access


Verfasst am:
11. Jun 2010, 05:48
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hallo,
der Datentyp Text muss in Hochkomma eingeschlossen werden.
Code:
Public Sub lst_haupt_DblClick(Cancel As Integer)
'## ID wird aus dem Hilfsfeld im Hauptformular ausgelesen
    DoCmd.OpenForm "frm_Mand_edit", , , "ID='" & Me!lst_haupt & "'"
End Sub
Da die gebundenen Spalte die 1 ist, kannst Du auf die Angabe der Spalte verzichten.
Ohne Spalte (Column) wird der Wert der gebundenen Spalte verwendet.

PS:
Warum legst Du eine ID (die hier offensichtlich eine Zahl ist) als Text an?

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Nouba
nicht ganz unwissend :)


Verfasst am:
11. Jun 2010, 06:10
Rufname:
Wohnort: Berlin

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

@Klaus,

ich denke, dass Michaels Tabellen auf einem SQL-Server verweilen (Präfix cbo_ in den Tabellen) und vermutlich durch Fremd-Software vorgegeben sind (Präfixe der Felder mit den UserIds lassen eine gewisse Herkunft erahnen).

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Jun 2010, 22:53
Rufname:

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hallo KlausMz,
hallo Nouba

erstmals vielen Dank für den Tipp mit dem Hochkomma hat auch gut funktioniert.

Jetzt stehe ich trotzdem schon wieder vor dem nächsten Problem.
Ich muss damit ich einen eindeutigen Datensatz muss ich das 3 Daten aus dem Listenfeld auswählen

Ich habe es mit folgendem Code versucht, erhalte aber die Fehlermeldung Typen unverträglich
Code:
DoCmd.OpenForm "frm_EndeFlag_edit", , , "OrigDate=" & "'" & Me!lst_haupt.Column(0) & "'" & "OrigTime=" & "'" & Me!lst_haupt.Column(1) & "'" & "CustomerID=" & "'" & Me!lst_haupt.Column(4) & "'"


Definition der Spalten:
OrigDate = Text
OrigTime = Text
CustomerID = Text

wie Nouba schon richtig vermutet hat liegen die Tabellen normalerweise auf einem SQL-Server. Die Datenbank wurde von einer externen Firma erstellt. Bei dem damaligen Projekt war ich nur als "Datenlieferer" dabei.
Ich perschönlich finde die Definition der Feldtypen Datum, ID als Text auch als sehr ungeschickt gewählt.



DB_2.rar
 Beschreibung:
Neue DB mit Fehler bei Datensatzübergabe in neues Formluar über Doppelklick bzw Button Bearbeiten

Download
 Dateiname:  DB_2.rar
 Dateigröße:  124.6 KB
 Heruntergeladen:  18 mal

MissPh!
Office-VBA-Programmiererin


Verfasst am:
12. Jun 2010, 10:15
Rufname:
Wohnort: NRW

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hallo,

mit der richtigen Syntax sollte es klappen:
Code:
    DoCmd.OpenForm "frm_EndeFlag_edit", , _
                 , "OrigDate='" & Me!lst_haupt.Column(0) & "'" _
            & " AND OrigTime='" & Me!lst_haupt.Column(1) & "'" _
            & " AND CustomerID='" & Me!lst_haupt.Column(4) & "'"
Frage: Was soll der VBA-Code an der Stelle mit dem AND anfangen? Das ist ein Verknüpfungsoperator für die Kriterien im SQL-Code.

PS: Du kannst dir die ganze Fokus-Setzerei sparen, wenn du die Value-Eigenschaft der Textfelder auswertest. Dann musst du aber auch mit NULL-Werten umgehen.
Code:
Private bCancel As Boolean

Private Sub cmd_leeren_Click()
    '######### FORMULARFELDER WERDEN GELEERT ##########
    Me.txt_vonVolvo = Null
    Me.txt_nachVolvo = Null
    Me.txt_BLZ = Null
    Me.txt_Brutto = Null
End Sub

Private Sub cmd_speichern_Click()
    If Nz(Me.txt_datum) = "" Then
        MsgBox "Bitte Datum eingeben!", 0, "Fehler!"
        bCancel = True
      ElseIf Nz(Me.txt_vonVolvo) = "" Then
        MsgBox "Bitte von Volvo auswählen!", 0, "Fehler!"
        bCancel = True
      ElseIf Nz(Me.txt_nachVolvo) = "" Then
        MsgBox "Bitte nach Volvo auswählen!", 0, "Fehler!"
        bCancel = True
      ElseIf Nz(Me.txt_BLZ) = "" Then
        MsgBox "Bitte Mandant eingeben!", 0, "Fehler!"
        bCancel = True
      ElseIf Nz(Me.txt_Brutto) = "" Then
        MsgBox "Bitte Bruttowert eintragen!", 0, "Fehler!"
        bCancel = True
      Else
        bCancel = False
        DoCmd.RunCommand acCmdSaveRecord
    End If
End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = bCancel
End Sub

_________________
Gruß MissPh!
Nouba
nicht ganz unwissend :)


Verfasst am:
12. Jun 2010, 11:30
Rufname:
Wohnort: Berlin

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hallo Michael,

es reicht auch DoCmd.OpenForm "frm_EndeFlag_edit", weil Dein Formular keine Datenherkunft besitzt und damit nutzlos bleibt. Sad

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
12. Jun 2010, 20:52
Rufname:
Wohnort: NRW

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

@Nouba: Da hast du wohl etwas verwechselt.
_________________
Gruß MissPh!



frm_EndeFlag_edit.jpg
 Beschreibung:
 Dateigröße:  74.5 KB
 Angeschaut:  449 mal

frm_EndeFlag_edit.jpg


Nouba
nicht ganz unwissend :)


Verfasst am:
12. Jun 2010, 21:40
Rufname:
Wohnort: Berlin

AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

@MissPh!,

ja, meine Augen sind wohl nicht mehr die Besten. Surprised

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Jun 2010, 08:10
Rufname:


AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler - AW: DS aus Listfeld -- Übergabe in neues Formluar -- Fehler

Nach oben
       Version: Office 2007

Hallo zusammen,

vielen Dank für eure super Hilfe.
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: Abfrage starten über Listfeld 1 JoSch1 512 09. Okt 2007, 15:55
derArb Abfrage starten über Listfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Access - Fehler bei Unterformular und SQL LEFT JOIN 1 kontextfrei 1526 01. Okt 2007, 18:03
kontextfrei Access - Fehler bei Unterformular und SQL LEFT JOIN
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler bei Division durch Null durch eine Null ersetzen 6 jsp 6257 25. Sep 2007, 15:50
jsp Fehler bei Division durch Null durch eine Null ersetzen
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler Inklusionsverknüpfung 14 Joerg112 3885 02. Sep 2007, 08:37
Joerg112 Fehler Inklusionsverknüpfung
Keine neuen Beiträge Access Tabellen & Abfragen: Filtern mit Drop Down in neues Formular????? 5 seppel27 2109 14. Aug 2007, 09:07
Willi Wipp Filtern mit Drop Down in neues Formular?????
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenerstellungsabfrage Fehler! 5 ..::MaTzE::.. 598 19. Jun 2007, 15:07
Nouba Tabellenerstellungsabfrage Fehler!
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler bei Geburtstagsabfrage wenn kein Geburtsdatum erfasst 2 adamth 1014 11. Jun 2007, 22:18
adamth Fehler bei Geburtstagsabfrage wenn kein Geburtsdatum erfasst
Keine neuen Beiträge Access Tabellen & Abfragen: neues Feld mit drei WErten 2 Gast 440 22. Sep 2006, 09:43
Gast neues Feld mit drei WErten
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Daten Übergabe 2 Michael2182 685 15. Mai 2006, 12:20
Willi Wipp Daten Übergabe
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in Löschabfrage!! 4 BorisDieKlinge 1623 12. Apr 2006, 13:17
BorisDieKlinge Fehler in Löschabfrage!!
Keine neuen Beiträge Access Tabellen & Abfragen: Übergabe eine Variable verursacht Fehler 2 blicki 714 16. Feb 2006, 10:42
blicki Übergabe eine Variable verursacht Fehler
Keine neuen Beiträge Access Tabellen & Abfragen: wo ist der fehler (sql) ? 4 Gast 913 26. Okt 2005, 17:59
jens05 wo ist der fehler (sql) ?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML CSS