MS-Office-Forum

Zurück   MS-Office-Forum > Archive > Microsoft Access - Archiv > Microsoft Access - Archiv (2001)
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 04.10.2001, 12:53   #1
Holger 22
MOF User
MOF User
Traurig Warum funkt Instr-Funktion nicht ?!

Ich benutze folgenden Code im Detailbereich meines Berichts(Artikelauflistung) um alle verschiedenen Mengeneinheiten in einem String zu sammeln.
Code:

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
        
    
    If Not InStr([mge_string], Trim(Me![me_id_text_1])) Then
            [mge_string] = [mge_string] & Trim(Me![me_id_text_1]) & "zxy"
            MsgBox mge_string & vbCrLf & Me![me_id_text_1] ' zum testen
    End If
            
End Sub
Aber die Instr-Funktion tut nicht! Der hängt einfach die Mengeneinheit jedes Datensatzes an den String dran, auch wenn sie schon vorkommt.
Kann vielleicht jemand weiterhelfen ?

mfg
Holger
Holger 22 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.10.2001, 12:56   #2
Andorxor
Standard

Instr liefer nicht boolean zurück sondern Integer.Versuchs so:
if instr(...) = 0 then
....
end if
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.10.2001, 13:18   #3
Holger 22
Threadstarter Threadstarter
MOF User
MOF User
Standard

Achso, wäre nett , wenn Ac97 auch mal eine Fehlermeldung ausgespucken würde...
Holger 22 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.10.2001, 14:04   #4
Sascha Trowitzsch
MOF Guru
MOF Guru
Standard

Es ist ja auch kein Fehler!

Die Typkonversion macht VB immer so nebenbei.
Bool: true = Integer: -1
Bool: false= Integer: 0

Ciao, Sascha

__________________

Microsoft Access MVP
O2k bis O2010, VB6, VS2008, Delphi7, ...
Bitte keine ungefragten E-Mails. Probleme werden hier gelöst.
Bitte beachten: Grundlegendes zum Access-Forum

Knowhow auf Access-im-Unternehmen | Das Access 2007 Praxisbuch für Entwickler | www.mossTOOLs.de
Sascha Trowitzsch ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.10.2001, 14:06   #5
Stefan Kulpa
MOF Meister
MOF Meister
Standard

Hallo Holger,

die Funktion InStr() liefert zwar einen numerischen Wert zurück, aber die Nutzung dieses Rückgabewertes als Boole'schen Wert ist durchaus üblich. Es gilt generell: Wert <> 0 = True!
Das ist das Problem mit diesen Boole'schen Werten - ich empfehle IMMER den Rückgabewert mit einzubeziehen; dass macht die ganze Geschichte lesbarer:

If Not Instr([xxx],[yyy]) = 0 entspricht If Instr([xxx],[yyy]) <> 0 !

HTH

__________________

Stefan
Stefan Kulpa 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 17:14 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, 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.