Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Access 2003 - Recordset

Mitglied: e2Mario

e2Mario (Level 1) - Jetzt verbinden

14.07.2009, aktualisiert 11:21 Uhr, 6386 Aufrufe, 9 Kommentare

Hallo an alle,

ich würde mal wieder Hilfe in Access VBA benötigen.

Folgende Situation:

Ich erstelle anhand einer Tabellenerstellungsabfrage die tabelle: tmp_tabelle.
In dieser Tabelle stehen Daten für einen Späteren Bericht Namens: rpt_bericht
In der Tabelle tmp_tabelle gibt es unter anderem ein Feld das sich "ZahlungsBedingung" nennt.

Mein Ziel ist es nun per VBA prüfen zu können welcher Kunde (Feldname: Name1) in der Tabelle tmp_tabelle eine Zahlungsbedingung hat welche mit NACHN* beginnt.
(In Summe gibt es 3 Zahlungsbedingungen welche passen können NACHN -2%, NACHN -3%, NACHN - 5%).
Diese Kunden sollten anschließend mit der Meldung:
ACHTUNG: Kunden [Name1]
Kunden [Name1]
Kunden [Name1] sind per Nachnahme zu liefern.

in einer MxgBox erscheinen.

Hoffe ich habe mir verständlich genug ausgedrückt, und mir kann jemand helfen.
Ich vermute mal das ich dafür mit Recordset arbeiten muss, habe jedoch keine Ahnung wie ich das angehen soll....

DANKE für Eure HILFE!

lg
Mario
Mitglied: tannerli
14.07.2009 um 12:09 Uhr
Hi e2Mario

Meine Kenntnisse sind zwar auch nicht mehr so ganz aktuell, aber letztes Mal als ich sowas gemacht habe ging das in etwa so:

01.
Dim rs as recordset 
02.
Dim qry 
03.
 
04.
qry = "SELECT Zahlungsbedingung, Name1 FROM tmp_tabelle WHERE Zahlungsbedingung LIKE 'NACHN%" 
05.
 
06.
Set rs = CurrentDb().OpenRecordset(qry) 
07.
 
08.
If rs.RecordCount Then 
09.
   rs.MoveFirst 
10.
   While Not rs.EOF 
11.
      Msgbox "Kunde " & rs.Fields.Item("Name1").Value & " muss per NN geliefert werden" 
12.
      rs.MoveNext 
13.
  Wend 
14.
Else 
15.
   MsgBox "Keine Einträge per Nachnahme" 
16.
End If 
17.
      
irgendwie sowas... ich erhebe weder anspruch auf vollständigkeit noch auf richtigkeit ;)
Bitte warten ..
Mitglied: e2Mario
14.07.2009 um 12:47 Uhr
Hallo,

also das irgenwie sind schon 99,9% - DANKE DIR!
Das einzige Problem liegt noch bei " Zahlungsbedingung LIKE 'NACHN%" --> Syntaxfehler
Wenn ich anstelle von LIKE 'NACHN% die einzlenen Zbdg einzeln eingebe, klappt es schon wunderbar

Vielleicht bekommen wir das auch noch hin...

Danke!
Bitte warten ..
Mitglied: tannerli
14.07.2009 um 12:57 Uhr
Jap, der Syntaxfehler ist hier

qry = "SELECT Zahlungsbedingung, Name1 FROM tmp_tabelle WHERE Zahlungsbedingung LIKE 'NACHN%'"

nach dem %-Zeichen braucht es noch ein einzelnes ' um die Bedingung zu vervollständigen... das hatte ich vorhin wohl vergessen...
Bitte warten ..
Mitglied: e2Mario
14.07.2009 um 13:25 Uhr
Hallo,

danker aber nein, das war er leider nicht,...
Der Code läuft zwar durch, jedoch werden die NACHN* nicht erkannt...

Eine Zusatzfrage hätte ich noch:
Ist es möglich alle Kunden mit NN in nur EINER Messagebox anzuzeigen. Bei bis zu 15 NN Sendungen kann das klicken ja zu richtiger Arbeit werden

DANKE!
Bitte warten ..
Mitglied: tannerli
14.07.2009 um 13:35 Uhr
Langsam habe ich hier so das Gefühl das ich keinen Support sondern mehr Programmiernug auf Auftrag betreibe...

Also 1. zur Query: Du hast schon NACHN% und nicht NACH* verwendet oder? (mit % und nicht *). Ich hab das so getestet und hat auch wunderbar funktioniert. (Zugegeben unter MSSQL2005 anstelle von Access aber sollte trotzdem gehen).
Ansonsten findest du unter http://sql.1keydata.com/de/sql-like.php eine gute Referenz wie das mit LIKE aussehen sollte. (Erstes google ergebnis nach 'sql like' übrigens... )

Und 2. zur einen Msgbox.

Ersetze
01.
   While Not rs.EOF  
02.
      Msgbox "Kunde " & rs.Fields.Item("Name1").Value & " muss per NN geliefert werden"  
03.
      rs.MoveNext  
04.
  Wend 
durch

01.
While Not rs.EOF 
02.
   liste =  liste & rs.Fields.Item("Name1").Value & vbCRLF 
03.
   rs.MoveNext 
04.
Wend 
05.
Msgbox "Folgenden Kunden sind per NN zu bedienen:" & vbCRLF & liste
cheers
Bitte warten ..
Mitglied: e2Mario
14.07.2009 um 13:54 Uhr
Nein nein, soweit lassen wir es nicht kommen...
Klar habe ich % anstelle von * verwendet. Die SQL Befehle like habe ich mir auch vorher angesehen....
Keine Angst, ich will mich hier nicht nur "bedienen" lassen, und einen auf Faul machen!

Welche Variante von LIKE ich auch verwende er checkt meine NN nicht...
Habe jetzt noch ein DCount eingebaut um die Summe der NN zu ermitteln.
Er kennt die NN Sendungen im Recordset zwar nicht, aber die Summe ermittelt er tadellos!

AnzNN = DCount("[Name1]", "tmp_Tabelle", "[ZahlungsBedingung] LIKE 'NACHN*'")
If AnzNN > 0 Then
MsgBox (AnzNN) & " " & ("NN vorhanden!") & " " & [Name1], vbOKOnly, "INFO"
Else
End If

Aber egal, ist zwar nicht ganz Formschön aber meine ursprüngliche Frage ist auf jeden Fall gelöst, und ich will dich auch
nicht nerven!
Also Frage erledigt und habe 1000 DANK!
Bitte warten ..
Mitglied: tannerli
14.07.2009 um 14:06 Uhr
<quote>
Klar habe ich % anstelle von * verwendet. Die SQL Befehle like habe ich mir auch vorher angesehen....
Keine Angst, ich will mich hier nicht nur "bedienen" lassen, und einen auf Faul machen
</quote>

Ach so, ja dann war das eine Fehlinterpretation meinerseits....

<quote>
ich will dich auch
nicht nerven!
</quote>

Keine Angst, wenn du mich nerven würdest hätte ich von vornherein nicht geantwortet ^^

Schliesslich ist das Forum da zum helfen, ich hab nur dann meine Mühe damit, wenn Leute sich die ganze Arbeit abnehmen lassen ohne zumindest lernwillig zu sein.

Falls dein Problem wirklich gelöst ist könntest du noch "Diesen Beitrag als gelöst markieren" im Forum

So long, and thanks for all the fish
tannerli
Bitte warten ..
Mitglied: tannerli
14.07.2009 um 15:38 Uhr
so und noch als allerletzen beitrag zu dem Thema:

ich hab grad noch mit nem kollegen gesprochen und siehe da: Access handhabt Wildcards anders als MSSQL Server... du muss demnach wirklich

WHERE Zbdg LIKE 'nach*'

nehmen (mit *)

dass sollte dann klappen

Cheers
tannerli
Bitte warten ..
Mitglied: e2Mario
14.07.2009 um 15:48 Uhr
JAAAA
klappt 1A - super, - nun ist es PERFEKT!

Nochmals DANKE für deine Hilfe!

Mario
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Access 2010 vba Recordset
gelöst Frage von EUuserVB for Applications3 Kommentare

Hallo zusammen, ich arbeite seit langem mal wieder mit Access und vba: Ich habe eine Datenbank, zwei Tabellen (identisch ...

VB for Applications

VBA Access: Synchronisation zwischen Recordset und Access Tabelle

Frage von qwertz1VB for Applications2 Kommentare

Hallo, Ich habe in Access ein VBA-Skript programmiert. Das Skript holt sich Daten von einer MySQL Server. Das geht ...

VB for Applications

VBA Excel Recordset - Abfrage auf SQL-Server

gelöst Frage von AximandVB for Applications4 Kommentare

Hallo, ich habe ein neuerliches Problem. Mitarbeiter sollen in einem Excel-Sheet die Artikelnummern ihrer benötigten Produkte runterschreiben. Ich ermittle ...

Datenbanken

Datenübernahme aus Open Access in Access

Frage von ITIL-HarryDatenbanken

Hallo zusammen, in meiner Firma soll ich, weil ich mich ein wenig mit Access auskenne, Daten aus einee uralten ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 9 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 15 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 19 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...