Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Feldnamen per Schleife durchlaufen und Wert zuweisen
zurück: Suchergebnis von Vb-A als Endlosformular darstellen Problem! weiter: erster satz in tabelle Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Rolf 2004_
Gast


Verfasst am:
26. Aug 2004, 12:41
Rufname:

Feldnamen per Schleife durchlaufen und Wert zuweisen - Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

Hallo alle miteinander!

Habe schon wieder ein Problem, dessen Lösung mit die letzten Haare kostet:

Kann man Feldnamen per Schleife durchlaufen und den Feldern dann Werte zuweisen?

In der Art:
Code:
    MyField = "Feld" & i
    MyField = [Feld_XY oder auch Variable].Value * (irgendwelche Berechnungen)

Wobei "i" dementsprechend neu besetzt wird mit "01", "02" etc.

Hoffentlich habe ich mich verständlich genug ausgedrückt und es kann mir einer helfen.

Vielen Dank schonmal

Gruß
Rolf
lothi
c#, .Net


Verfasst am:
01. Sep 2004, 08:37
Rufname:
Wohnort: Birgisch


AW: Feldnamen per Schleife durchlaufen und Wert zuweisen - AW: Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

Hallo Rolf

Meinst du die Feldnamen in einer Tabelle?

Wie und wann sollen denn die Feldnamen durchlaufen werden?

In einer Tabelle kannst du das mit einem Recordset machen:
Code:
    Dim rs As DAO.Recordset
    Dim I As Integer

    Set rs = CurrentDB.OpenRecordset("Tabelle")
    For I = 0 To rs.Fields.Counts-1
        rs.Field(I) = "Dein Wert"
    Next I

Hab das mal so als Beispiel hingeschrieben.

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
meyster
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Sep 2004, 10:06
Rufname:

AW: Feldnamen per Schleife durchlaufen und Wert zuweisen - AW: Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

so etwas in der Art brauche ich auch...

habe eine query erstellt, die mir alle in dieser Woche fälligen Abgabetermine auflistet. Auf Basis dieser Query soll über Access automatisch ein Mailing erstellt und versendet werden.

Die Emailfunktion habe ich bereits bei microsoft in der knowledgebase gefunden. Aber wie durchlaufe ich die ergebnisliste einer query und gebe jeden Eintrag an die emailfunktion weiter:

also hier soll dann die emailadresse durch den jeweiligen tabelleneintrag geändert werden:
Code:
    Set objOutlookRecip = .Recipients.Add("email@email.de")

freue mich auf jede antwort.

gruß, stefan
lothi
c#, .Net


Verfasst am:
01. Sep 2004, 10:43
Rufname:
Wohnort: Birgisch

AW: Feldnamen per Schleife durchlaufen und Wert zuweisen - AW: Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

Hallo

Hier ein Beispiel wo die Datensätze durchlaufen werden und die Emailadresse auslesen (nicht getestest):
Code:
    Dim rs As DAO.Recordset
    Dim strEmail As String

    Set rs = CurrentDB.OpenRecordset("Abfrage")
    Do While Not rs.EOF
        strEmail = rs!EmailFeld & ";" & strEMail
        rs.MoveNext
    Loop

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
meyster
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Sep 2004, 11:04
Rufname:


AW: Feldnamen per Schleife durchlaufen und Wert zuweisen - AW: Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

danke, werds gleich mal ausprobieren...

bin gerade noch auf nen anderes problem gestoßen:

möchte den text einer textbox per vb ändern habe dafür folgenden befehl:
Code:
    Forms!frm_Reminder!Reminder_text.Text = var_Text

var_text ist eine Variable mit dem Text.

Die änderungen an der Textbox lassen sich jedoch nur dann durchführen, wenn die Textbox bereits das Focus hat, ansonsten kommt folgende Fehlermeldung:
Zitat:
"Sie können die Eigenschaft... nur dann auswerten, wenn das Steuerelement den Focus hat"

Wie gebe ich dem Element den Focus, oder wie muss der Befehl sonst heissten. Per DefaultValue kommt ich nicht weiter, da krieg ich keinen Zeilenumrbruch rein.
Willi Wipp
Moderator


Verfasst am:
01. Sep 2004, 11:19
Rufname:
Wohnort: Raum Wiesbaden

Re: Feldnamen per Schleife durchlaufen und Wert zuweisen - Re: Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

Hi Meyster,

die Eigenschaft Text enthaelt den aktuellen Text, das muss nicht der Wert in dem entsprechenden Feld sein.
=> Existiert nur wenn das Steuerelement den Fokus. Versuch es mal so
Code:
    Forms!frm_Reminder!Reminder_text = var_Text

_________________
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 02. Sep 2004, 11:33, insgesamt einmal bearbeitet
meyster
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Sep 2004, 13:45
Rufname:

AW: Feldnamen per Schleife durchlaufen und Wert zuweisen - AW: Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

Super!

Ihr seid klasse Smile
meyster
Im Profil kannst Du frei den Rang ändern


Verfasst am:
02. Sep 2004, 10:36
Rufname:

so ganz klappt es doch nich nicht... - so ganz klappt es doch nich nicht...

Nach oben
       

möchte jetzt die Mailing-Funktion nutzen. Dazu lese ich mit dieser Funktion die Werte aus der Tabelle und setze sie in die Funktion ein:

Code:
Sub sendmailings()
    Dim stDocName As String
    Dim rst As DAO.Recordset
    Dim strEmail As String
    Dim var_enquiry_no As String
   
    var_enquiry_no = [Forms]![frm_reminder]![Enquiry_no]
    MsgBox (var_enquiry_no)
    Set rst = CurrentDb.OpenRecordset("SELECT Enquiry_Supplier.Supplier_Code, Supplier.Suppleremail, Enquiry_Supplier.Enquiry_No FROM Supplier INNER JOIN Enquiry_Supplier ON Supplier.Suppliercode = Enquiry_Supplier.Supplier_Code WHERE ((Enquiry_Supplier.Enquiry_No)=var_enquiry_no)")
    Do While Not rst.EOF
        strEmail = rst!Suppleremail
        SendMessage (strEmail)
        rst.MoveNext
    Loop
End Sub

Die variable
Code:
    Dim var_enquiry_no As String
habe ich eingeführt, weil ich ursprünglich bei Aufrufen der Access-Abfrage (SQLopenENQUIRIES) immer die Fehlermeldung bekam:
Zitat:
1 Parameter wurde erwartet, aber es wurden zu wenig Parameter übergeben

Nur leider ist dieses Problem geblieben. Rufe ich die Abfrage ohne Bezug auf ein Steuerelement oder diese Variable aus, dann geht das? Aber wie löse ich das Problem?

Wie kann ich aus einer Prozedur heraus auf ein Steuerelement zugreifen?

Die ursprünglich Access-Abfrage, die ich an der Stelle aufgerufen habe, sieht so aus:
Code:
SELECT Enquiry_Supplier.Supplier_Code, Supplier.Suppleremail, Enquiry_Supplier.Enquiry_No
FROM Supplier INNER JOIN Enquiry_Supplier ON Supplier.Suppliercode = Enquiry_Supplier.Supplier_Code
WHERE (((Enquiry_Supplier.Enquiry_No)=[forms]![frm_reminder].[enquiry_no]));
Willi Wipp
Moderator


Verfasst am:
02. Sep 2004, 11:32
Rufname:
Wohnort: Raum Wiesbaden

Re: Feldnamen per Schleife durchlaufen + Wert zuweisen (II) - Re: Feldnamen per Schleife durchlaufen + Wert zuweisen (II)

Nach oben
       

Hi meyster,

ich wuerde eine weitere Variable sSQL einfuehren, vereinfacht das auffinden von Fehlern.
Und dann sollte das etwa so klappen
Code:
Sub sendmailings()
    Dim stDocName As String
    Dim rst As DAO.Recordset
    Dim strEmail As String
    Dim var_enquiry_no As String
    Dim sSQL As String
   
    var_enquiry_no = [Forms]![frm_reminder]![Enquiry_no]
    MsgBox (var_enquiry_no)
    sSQL = "SELECT ES.Supplier_Code, S.Suppleremail, ES.Enquiry_No " & _
           "FROM   Supplier AS S INNER JOIN Enquiry_Supplier AS ES " & _
                                "ON S.Suppliercode = ES.Supplier_Code " & _
           "WHERE ES.Enquiry_No='" & var_enquiry_no & "'"  'Wenn Datentyp Text
'           "WHERE ES.Enquiry_No= " & var_enquiry_no       'Wenn Datentyp Zahl
    Set rst = CurrentDb.OpenRecordset(sSQL$)
    Do While Not rst.EOF
        strEmail = rst!Suppleremail
        SendMessage (strEmail)
        rst.MoveNext
    Loop
End Sub
{Edit: Fehlendes Leerzeichen ergaenzt!}
_________________
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 02. Sep 2004, 14:19, insgesamt 2-mal bearbeitet
meyster
Im Profil kannst Du frei den Rang ändern


Verfasst am:
02. Sep 2004, 13:44
Rufname:


AW: Feldnamen per Schleife durchlaufen und Wert zuweisen - AW: Feldnamen per Schleife durchlaufen und Wert zuweisen

Nach oben
       

Funktioniert ;)

in der Zeile:
Code:
           "FROM   Supplier AS S INNER JOIN Enquiry_Supplier AS ES"


musste lediglich hinter "ES" eine Leerstelle. Dann geht das.

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: Wert von der Tabelle abziehen 1 elmar9700 893 10. Jul 2005, 22:22
stpimi Wert von der Tabelle abziehen
Keine neuen Beiträge Access Tabellen & Abfragen: Wert erhöhen um 1 in einer Abfrage 9 schwieche 5577 31. Mai 2005, 02:16
schwieche Wert erhöhen um 1 in einer Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage per Stichtag 3 Teresa 1712 16. Mai 2005, 13:26
jens05 Access Abfrage per Stichtag
Keine neuen Beiträge Access Tabellen & Abfragen: 2 Tabellen verbinden trotz Auto Wert ID 3 Miss Ahnungslos 7789 06. Mai 2005, 22:57
Dalmatinchen 2 Tabellen verbinden trotz Auto Wert ID
Keine neuen Beiträge Access Tabellen & Abfragen: Hochzählen ab bestimmten Wert 3 vitalik 894 06. Mai 2005, 12:47
stpimi Hochzählen ab bestimmten Wert
Keine neuen Beiträge Access Tabellen & Abfragen: Überprüfen ob Wert in Tabelle = NULL 3 Cossack 1499 18. Apr 2005, 17:52
Gast Überprüfen ob Wert in Tabelle = NULL
Keine neuen Beiträge Access Tabellen & Abfragen: WHERE Wert Is manchmal Null 1 JTR 606 11. Feb 2005, 17:50
lothi WHERE Wert Is manchmal Null
Keine neuen Beiträge Access Tabellen & Abfragen: Lagerstellplätze automatisch zuweisen in Datenbank 1 Sastian 1405 01. Feb 2005, 09:20
stpimi Lagerstellplätze automatisch zuweisen in Datenbank
Keine neuen Beiträge Access Tabellen & Abfragen: Wie mache ich per Abfrage 305 -> K3.05? 2 Maik_25 793 21. Jan 2005, 10:38
Maik_25 Wie mache ich per Abfrage 305 -> K3.05?
Keine neuen Beiträge Access Tabellen & Abfragen: Wenn Wert nicht vorhanden nimm den nächsten 2 Ogdo 789 29. Dez 2004, 12:40
Gast Wenn Wert nicht vorhanden nimm den nächsten
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle per SQL umbennen (Access 2000) 2 DerPater 1085 09. Dez 2004, 14:02
Gast Tabelle per SQL umbennen (Access 2000)
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit sum, max Wert und verhätnis summe/max anzeigen? 1 IV 2532 04. Nov 2004, 18:14
Skogafoss Abfrage mit sum, max Wert und verhätnis summe/max anzeigen?
 

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