collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 60
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14072
  • stats Beiträge insgesamt: 67582
  • stats Themen insgesamt: 9104
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Probleme mit MID  (Gelesen 291 mal)

Offline HaNe

  • Newbie
  • Beiträge: 23
Probleme mit MID
« am: September 28, 2018, 12:04:38 »
Ein herzliches Glück Auf an Alle,

ich hab ein kleines Problem mit der Funktion MID in Access 2007. Ich will dies verwenden, um in einer Abfrage bestimmte Stellen aus einer Zahl auszulesen. Es geht im aktuellen Fall um einen Barcode, welcher in einer Zahlenfolge bestimmte Codes stehen hat, welche ich zum Auswerten brauche.
Left und Right klappt ohne Probleme. Nur bei MID steht immer im Ergebnis der Wert bis zum Ende der Zahl.
z.B. hab ich eine 8stellige Zahl und will die Stellen 6 und 7 auslesen.
=Teil([barcode],6,2) - es liest mir aber die Stellen 6,7 und 8 aus.
Was mache ich falsch?

Glück Auf
HaNe
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1340
Re: Probleme mit MID
« Antwort #1 am: September 28, 2018, 12:09:34 »
Ein Fehler ist nicht erkennbar.

Aus dem VBA-Direktfenster:barcode="12345678"
?Mid(barcode, 6, 2)
67
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: HaNe

Offline HaNe

  • Newbie
  • Beiträge: 23
Re: Probleme mit MID
« Antwort #2 am: September 28, 2018, 12:46:10 »
woran kann es dann liegen, dass mir mehr stellen ausgegeben werden, als ich angegeben habe?
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 131
Re: Probleme mit MID
« Antwort #3 am: September 28, 2018, 14:13:30 »
Hallo,
ich würde sagen, das kann nicht sein!!
Zitat
=Teil([barcode],6,2) - es liest mir aber die Stellen 6,7 und 8 aus.
Dieser Code kann definitiv nur 2 Stellen ausgeben.
Kontrolliere deine "Versuchsanordnung".

Ps: Was mich wundert, dass du mit "," arbeitest? Schweizer Version !?
« Letzte Änderung: September 28, 2018, 14:38:27 von steffen0815 »
Gruß Steffen
 
Folgende Mitglieder bedankten sich: HaNe

Offline HaNe

  • Newbie
  • Beiträge: 23
Re: Probleme mit MID
« Antwort #4 am: September 28, 2018, 16:02:20 »
Hallo Steffen,

tut mir Leid, aber es klappt wirklich nicht. Es werden, trotz 2 geforderter Stellen, 3 oder mehr ausgegeben. Ich habe ein deutsche Version. Sobald ich ein ";" eingebe kommt eine Fehlermeldung. Ich habe das jetzt bei Zahlen und bei Text probiert und habe immer wieder dieses Problem.
Zuätzlich wollte ich es in einem Formularkopf testen....da kommt der selbe Fehler.

Kann es manchmal sein, dass ich irgendwo eine "Grundeinstellung" ändern muss oder könnte das eine Updategeschichte sein? Ich weiß...es ist die 2007er Version, aber bis heute hat alles wunderbar funtioniert.
Ich weiß mir echt keine Rat mehr

GlückAuf
HaNe
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23453
Re: Probleme mit MID
« Antwort #5 am: September 28, 2018, 16:18:56 »
Hallo,

schreib mal so in einem Feld (Spalte) im Abfrageentwurf:

Feld:         Txt: Teil([Barcode];6;2)

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1340
Re: Probleme mit MID
« Antwort #6 am: September 28, 2018, 16:45:14 »
Ob Komma oder Semikolon richtig ist, wird durch die Windows Systemeinstellung für das Listentrennzeichen geregelt. Am unverfänglichsten ist, den Code direkt in der SQL-Ansicht der Abfrage einzutippen.

PS: Um sicherzustellen, dass keine Defekte in der Datenbank das merkwürdige Verhalten hervorrufen, könntest Du sämtliche Objekte in eine neue Datenbank importieren.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: HaNe

Offline HaNe

  • Newbie
  • Beiträge: 23
Re: Probleme mit MID
« Antwort #7 am: September 29, 2018, 10:48:26 »
Hallo nochmal,

zuerst vielen Dank an alle Unterstützer. Ich hab den Fehler gefunden und war ziemlich erstaunt. Ich habe wie angegeben die Formel folgendermaßen eingegeben: Mitte:Teil([barcode],6,2) und das Ergebnis war immer, wie oben beschrieben. Der Tipp mit der SQL-Ansicht hat mir geholfen. Acces hat hier folgendes angezeigt.... Mitte:Teil([barcode],6.2). Access hat also das letzte Komma in einen Punkt gewandelt. Warum und wieso....keine Ahnung. Jedenfalls habe ich den Punkt in SQL in ein Komma geändert und siehe da, es klappt.
Also nochmal VIELEN DANK an alle Helfer und ein schönes Wochenende.

GlückAuf
HaNE
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7429
Re: Probleme mit MID
« Antwort #8 am: September 29, 2018, 11:00:10 »
Hallo,
hier geht wohl doch einiges durcheinander.
In der Entwurfsansicht einer Abfrage sind bei einem deutschen Access Semikolons statt Komma zu verwenden. Also so:
Mitte:Teil([barcode];6;2)Bei Umschaltung in SQL sieht das dann so aus:
Mid([barcode],6,2) As Mitte
In SQL steht da niemals Teil.

Hinweis:
Prüfe mal in der Systemsteuerung die Ländereinstellung.

« Letzte Änderung: September 29, 2018, 18:03:34 von MzKlMu »
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: HaNe

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1340
Re: Probleme mit MID
« Antwort #9 am: September 29, 2018, 12:36:42 »
Sechs Komma Zwei wird zur Ganzzahl 6 gerundet. Und weil die Mid-Funktion auch nur mit dem Startwert als zweites Argument ausreichend versorgt ist, wird die Funktion alles ab dem 6. Zeichen ausgegeben.
Unklar ist, warum das Komma nach [barcode] nicht bemängelt wurde?!
 
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: PhilS, HaNe

Offline HaNe

  • Newbie
  • Beiträge: 23
Re: Probleme mit MID
« Antwort #10 am: September 30, 2018, 16:40:21 »
Hallo MzKlMu,
ich hab nochmal die Ländereinstellung geprüft. Da steht alles normal auf Deutsch. Keine Ahnung, warum das solche Probleme macht. Ich hab mich schon gewundert, warum ich ein Komme statt Semikolon eingeben musste, das es überhaupt funktioniert. Ich habe schon daran gedacht, dass mir eine generelle Einstellung eine Streich spielt. Aber welche.....das ist wohl die Frage.
Total verrückt ist nun auch noch....wenn ich diese Abfrage, als Abfrageentwurf öffne, wandelt es das Komma wieder in einen Punkt. Wenn ich die Abfrage normal öffne - also ohne Entwurfsansicht - funktioniert es.
Schon alles sehr, sehr merkwürdig.
Achso, ich verwende Windows 7

GlückAuf
HaNe
 

Offline HaNe

  • Newbie
  • Beiträge: 23
Re: Probleme mit MID
« Antwort #11 am: September 30, 2018, 16:44:37 »
Ob Komma oder Semikolon richtig ist, wird durch die Windows Systemeinstellung für das Listentrennzeichen geregelt. Am unverfänglichsten ist, den Code direkt in der SQL-Ansicht der Abfrage einzutippen.

PS: Um sicherzustellen, dass keine Defekte in der Datenbank das merkwürdige Verhalten hervorrufen, könntest Du sämtliche Objekte in eine neue Datenbank importieren.

Eine Frage hierzu hätte ich doch noch. Ich habe gerade mal nachgeschaut. Das Listtrennzeichen ist bei mir ein Komma. Wäre es günstig, dies in ein Semikolon zu ändern?

GlückAuf
HaNe
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23453
Re: Probleme mit MID
« Antwort #12 am: September 30, 2018, 16:51:08 »
Hallo,

das könnte nicht schaden...   Wäre jedenfalls dem Standard näher und sorgte nicht für solche Verwirrungen ;)

Vorausgesetzt, es steht nicht eine andere Anwendung, die das Semikolon nicht verwenden (erkennen) kann im Wege..

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1340
Re: Probleme mit MID
« Antwort #13 am: September 30, 2018, 16:59:26 »
Wenn das Listentrennzeichen ein Komma ist,kollidiert dieses mit dem deutschen Dezimaltrennzeichen, welches i.d.R. das Komma ist. Ändert man das Dezimaltrennzeichen zu einem Punkt, so kollidiert dieser mit dem deutschen Datumstrennzeichen. Eine Änderung der Symbole ist deshalb meistens nur sinnvoll, wenn man alle Symbole behandelt. Das kann durch eine für ein Land typesches Schema geschehen, wofür es Vorauswahlen gibt.

Also lange Rede kurzer Sinn - wenn Du mit deutschen Ländereinstellungen werkelst, verwende das Semikolon. Amerikaner würden das Komma wählen.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: HaNe