MS-Office-Forum
Google
   

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

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 14.09.2017, 11:41   #1
Kövener
MOF User
MOF User
Traurig Acc2010 - Inputbox Eingabewert überprüfen

Hallo zusammen,
ich habe eine Inbuptbox in der die Nutzer eine Artikelnummer eingeben müssen. Die Artikelnummern haben immer das gleiche Format (zwei Zahlen, ein Punkt und wieder 4 Zahlen) z.B. 07.2111
Über eine Schleife überprüfe ich schon das genau 7 Zeichen eingegeben werden. Nun möchte ich aber das zusätzlich überprüft wird, ob an der dritten Stelle ein Punkt steht.
Hier mein jetziger VBA Code
PHP-Code:

Do
    
ArtikelName InputBox("Bitte Artikelnummer eingeben! z.B. 04.2111")
        If 
ArtikelName "" Then Exit Sub       
        
If Len(ArtikelName) <> 7 Then
            i 
MsgBox("Bitte geben Sie die Artikelbezeichnung im richtigen Format ein." vbCrLf "z.B. 04.2111")
        
End If
    
Loop While Len(ArtikelName) <> 
Ich weiß, dass mit Instr eine Überprüfung möglich ist, bekomme den VBA Code aber einfach nicht richtig zusammen gesetzt
Kövener ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 11:52   #2
Haxnwirt
MOF User
MOF User
Standard

nx = instr(1, Artikelname, ".")
If nx = 3 then
...
end if
Haxnwirt ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 12:20   #3
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

Dient das ganze dem Anlegen oder dem Auswählen von Artikeln?
markusxy ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 12:24   #4
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
das kannst Du direkt prüfen:
If Mid(ArtikelName,3,1) = "." Then

__________________

Gruß
Klaus
Office2010, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 12:24   #5
ebs17
MOF Guru
MOF Guru
Standard

Zitat:

ob an der dritten Stelle ein Punkt steht

Code:

If Mid$(ArtikelName, 3, 1) = "." Then ...
Aber warum verwendest Du kein Formular?
Statt ggf. falsche Eingaben zu bemängeln, könnte man ein Kombinationsfeld mit den nur gültigen Artikelnummern anbieten und so dem User helfen.

InputBox ist doch Krampf: Access Design:Inputbox

__________________

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

Geändert von ebs17 (14.09.2017 um 12:32 Uhr).
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 12:27   #6
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
das kannst Du direkt prüfen:
Code:

If Mid(ArtikelName,3,1) = "." Then
   'mache nix
Else
   MsgBox "....
End If
PS: Artikelname = Artikelnummer scheint mir etwas unlogisch.

PPS:
Hat die Zahl vor dem Punkt eine Bedeutung ?

__________________

Gruß
Klaus
Office2010, Win10

Geändert von gpswanderer (14.09.2017 um 13:16 Uhr).
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 13:41   #7
Kövener
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo gpswanderer,
dein Einwand zur der Bezeichnung werde ich berücksichtigen.
Die beiden Zahlen vor dem Punkt verändern sich auch.

Nur habe ich ein Problem deinen Code in meinen einzubauen.
Ich habe schon einiges versucht, aber es funktioniert nicht.
Kövener ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 13:57   #8
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,

Zitat:

Ich habe schon einiges versucht, aber es funktioniert nicht.

und warum zeigst Du nicht die Versuche ? Wie sonst soll man erkennen was Du falsch machst ?

Zitat:

Die beiden Zahlen vor dem Punkt verändern sich auch.

Dass sich diese ändern war mir klar, ich habe aber nach einer Bedeutung gefragt.
Könnte z.B. eine Artikelgruppe sein.

__________________

Gruß
Klaus
Office2010, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 14:36   #9
Kövener
Threadstarter Threadstarter
MOF User
MOF User
Standard

Sorry,

du hast ja recht.
Hier ist mein Versuch
PHP-Code:

Do
    
ArtikelName InputBox("Bitte Artikelname eingeben! z.B. 04.2111")
        If 
ArtikelName "" Then Exit Sub  Exit Sub wenn keine Eingabe oder Abbrechen gedrückt.
       
        If 
Len(ArtikelName) <> 7 Then Or Not Mid(ExcelDatName231) = "." Then

            i 
MsgBox("Bitte geben Sie den Artikelnamen im richtigen Format ein." vbCrLf "z.B. 04.2111")
        
End If
    
Loop While Len(ArtikelName) <> Or Not Mid(ExcelDatName231) = "." 
Die zwei Stellen vor dem Punkt haben keine besondere Bedeutung.
Kövener ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 14:49   #10
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
der gezeigte Code ich nicht vollständig. Vor Do gibt es noch was und nach While auch.

Zitat:

Die zwei Stellen vor dem Punkt haben keine besondere Bedeutung.

kann ich mir irgendwie nicht vorstellen.
Kann da jeder reinschreiben was er will ?
Der eine schreibt 04 rein und ein anderer 07 ?
Dann könntest Du auch auf die Ziffern verzichten.

__________________

Gruß
Klaus
Office2010, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 15:05   #11
Beaker s.a.
MOF Koryphäe
MOF Koryphäe
Standard

Code:

If ArtikelName = "" Then Exit Sub   'Exit Sub wenn keine Eingabe oder Abbrechen gedrückt.
Code:

If Len(ArtikelName) <> 7 Or Not Mid(ExcelDatName2, 3, 1) = "." Then ...

__________________

--
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 15.09.2017, 06:38   #12
Kövener
Threadstarter Threadstarter
MOF User
MOF User
Standard

Danke für eure Hilfe!!

Ich habe das Problem wie folgt gelöst:
PHP-Code:

Do
    
ArtikelName InputBox("Bitte Artikelname eingeben! z.B. 01.2017")
        If 
ArtikelName "" Then Exit Sub
 
       nx 
InStr(1ArtikelName".")

        If 
Len(ArtikelName) <> Or Not nx 3 Then
            i 
MsgBox("Bitte geben Sie den Artikelnamen im richtigen Format ein." vbCrLf "z.B. 07.2017")
        
End If
    
Loop While Len(ArtikelName) <> Or Not nx 
Kövener ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2017, 08:32   #13
ebs17
MOF Guru
MOF Guru
Standard

Anmerkung: Prüfung doppelt (sicher ist sicher), aber ob da Ziffern vorliegen, ist außerhalb der Betrachtung.

Jetzt braucht man nur noch einen User, der die Artikelnummern alle im Kopf hat, um sie formatgerecht eintippen zu können.

__________________

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 15.09.2017, 08:40   #14
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

@ebs17
So lösen es die Anfänger.
Die wissen noch nichts von Eingabemasken, Kombifeldern und co.
Die wissen auch wenig von der Praxis derjenigen, die das bedienen müssen.
In 10 Jahren macht er dann sicher anders.
markusxy ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2017, 08:46   #15
ebs17
MOF Guru
MOF Guru
Standard

Zitat:

Die wissen noch nichts von Eingabemasken, Kombifeldern und co.

Wenn der TE alle Antworten iin seinem Thema liest, ist das Nicht-Wissen um diesen Weg kein Argument mehr, sondern bestenfalls ein Nicht-Umsetzenkönnen oder ein Nicht-Verstehen.

__________________

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
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 22:35 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 - 2017, Jelsoft Enterprises Ltd.

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