MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 24.04.2018, 13:03   #1
chiefhenk
Neuer Benutzer
Neuer Benutzer
Standard Acc2016 - Loop mit zeitlicher Unterbrechung

hallo leute
folgendes Problem:
ich habe ein Modul VBA das hervorragend funktioniert mit einer kleinen Einschränkung.

set db =
set rs =
do until rs.eof

(programmierung)

rs.movenext
loop

Das läuft so.. was ich aber zusätzlich brauche ist eine Anzahl und Zeitsteuerung

Dim AnzahlFiles As Integer
Dim AnzahlSek As Integer

AnzahlFiles = 20
AnzahlSek = 60

wie verpacke ich das in den loop? hat jemand eine Idee
chiefhenk ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 13:25   #2
maikek
MOF Guru
MOF Guru
Standard

Moin,

was soll denn nach 20 Files bzw. 60 Sekunden passieren?
Ersetzt diese Bedingung .EOF oder ist es eine zusätzliche?

Die Variable AnzahlFiles kannst du ja einfach runterzählen, bei den Sekunden musst du wohl Now() zu einem bestimmten Zeitpunkt der Schleife in einer Variablen speichern und dann jeweils mit Now() abgeleichen bis die Differenz 1 Minute beträgt.

maike

__________________

Bitte dein Thema auf erledigt setzen, wenn's durch ist!
MOF Access Stammtisch in Bremen
maikek ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 14:36   #3
chiefhenk
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo maikek
sorry nachfolgende Erklärung:
geh davon aus dass es 100 Datensätze gibt bis EOF.
das loop soll nach 20 Datensätzen für eine Anzahl von Sekunden Stoppen. Danach mit Datensatz 21-40 weitermachen. Der Interval soll solange laufen bis EOF erreicht ist. Damit die Anzahl Datensätze und die Zeitspanne flexibel bleibt, habe ich 2 variablen definiert.
Ich weis aber nicht wie ich das programmieren muss. heul bin so ein anfänger.
chiefhenk ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 14:51   #4
trekking1
MOF Profi
MOF Profi
Standard

Hallo chiefhenk,

erklär uns mal bitte für was das stoppen gut sein soll. Eventuell können wir Dir dann besser helfen. Das ist nämlich etwas ungewöhnlich.

vg
trekking
trekking1 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 15:57   #5
chiefhenk
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo trekking
Sehr einfach, zwischen Anfang und ende Loop läuft ein Massenmailversand für einen Kunden. (kein Spam)
Diverse Provider hauen dich ins aus und zeigen dir die rote karte. das lässt sich zum teil eben mit einer warte Position anscheinend vermeiden. 10er 20er 50er Pakete und dies mit pause dazwischen.

hilft das?
chiefhenk ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 16:02   #6
trekking1
MOF Profi
MOF Profi
Standard

Ja das hilft. Gemäß neuer Datenschutzrichtlinie darf man so etwas nur dann machen, wenn der Kunde diesen Mails ausdrücklich zugestimmt hat. Ist dies bei euch der Fall? Auch wenn es kein Spam ist.

Wenn ja, dann werde ich eine Antwort geben, wenn nein, dann beteilige ich mich nicht an dem Mail versand

VG
trekking
trekking1 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 16:09   #7
chiefhenk
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

hallo trekking
Das sind alles eigene Kundenadressen!
Keine gekauften.
chiefhenk ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 16:16   #8
ebs17
MOF Guru
MOF Guru
Standard

Eine Codepause kannst Du hiermit einlegen: WaitForSingleObject-Funktion

Einen Zähler kannst Du sicher selber in die Schleife einbauen. Mit dem Rest auf Ganzzahlendivision kann man auf Intervalle zerlegen:
Code:

If Zaehler mod 20 = 0 Then ...

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 16:36   #9
chiefhenk
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

hallo ebs
das kling ja schon recht vielversprechend.
leider bin ich eben nicht wirklich fit im programmieren und würde ohne hilfe lange herumknorzen... kannst du hilfe geben?
chiefhenk ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 17:06   #10
hcscherzer
MOF Guru
MOF Guru
Standard

Also ich finde, Eberhard hat schon einige Hilfe gegeben.
Erwartest Du gebratene Hühner, die Dir in den Mund fliegen?

Fit im Programmieren wirst Du nur, wenn Du Dich als Lernenden begreifst.
Nicht, wenn Du Dir etwas vorkauen lässt.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 17:47   #11
markusxy
MOF Meister
MOF Meister
Standard

Grundsätzlich hat Hans-Christian natürlich recht. Um sich mit dem Thema aber eingehend zu beschäftigen braucht man Tage nicht Stunden.

Wesentlich einfacher ist es die Funktion Sleep einzusetzen.

Hier findest du die Infos dazu:

http://www.visualbasic-archiv.de/api...s.php?id=sleep

Anbei die korrekte Deklaration für VB7 wie in Access 2016 eingesetzt.
Die Codes auf der Domain gelten generell bis VB6.

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Die Deklaration gehört in den Kopfbereich eines Modules.

LG Markus

Edit:
Hier und Hier noch einige Basics

Geändert von markusxy (24.04.2018 um 17:54 Uhr).
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 18:06   #12
trekking1
MOF Profi
MOF Profi
Standard

Hi Chiefhenk,

nachdem Dir die Kollegen das geschrieben haben, was ich Dir auch geschrieben hätte sollte es erledigt sein. Allerdings musst Du noch eines beachten:

Es gibt mit der neuen Verordnung keine "eigenen Kundenadressen" mehr. Das ist etwas verkompliziert und bezieht sich auch auf das B2B und nicht mehr nur auf das B2C Geschäft. Hier solltet Ihr euch genau erkundigen, denn Verstöße werden ziemlich teuer.

Viele Grüße
trekking
trekking1 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 19:53   #13
Beaker s.a.
MOF Koryphäe
MOF Koryphäe
Standard

Zitat:

Eine Codepause kannst Du hiermit einlegen: WaitForSingleObject-Funktion

Das geht aber auch "anfängerfreundlicher"
Code:

Public Sub Delay(ByVal Sekunden As Single)
  
    Dim t As Single
  
    t = Timer
    Do While Timer - t < Sekunden
        DoEvents
        If Timer < t Then   'Mitternacht
            t = t - 24 * 60 * 60
        End If
    Loop

End Sub

__________________

--
S.M.I.²L.E.
Beaker s.a. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 22:28   #14
hcscherzer
MOF Guru
MOF Guru
Standard

Zitat:

Grundsätzlich hat Hans-Christian natürlich recht.

Merci.

Zitat:

Um sich mit dem Thema aber eingehend zu beschäftigen braucht man Tage nicht Stunden.

Um programmieren zu lernen, braucht man nicht Tage sondern Jahre.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.04.2018, 23:02   #15
trekking1
MOF Profi
MOF Profi
Standard

@Christian:

Zitat:

Um programmieren zu lernen, braucht man nicht Tage sondern Jahre.

Und nach den ersten Jahren fängt man auf einem höheren Level wieder von vorne an

Viele Grüße
trekking
trekking1 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.