vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
sevDataGrid (Feld auf Eintrag prüfen) 
Autor: CCHEK
Datum: 22.01.18 08:01

Guten Morgen Dieter,

bisher habe ich unter Access 2010 einen fehlenden Einträge wie folgt geprüft:
If IsNull(Grid1.Recordset.Fields("IBAN")) Then
    MsgBox "Zahlung ohne IBAN nicht möglich !", , "keine IBAN vorhanden1"
    Exit Sub
End If
jetzt funktioniert das nur noch so:
With Grid1.Recordset
    If .Fields("IBAN") = "" Then
    MsgBox ("Zahlung ohne IBAN/SWIFT-BIC nicht möglich !, , keine IBAN" & _
      "vorhanden1")
    Exit Sub
    End If
End With
 
Oder so:
 
If Grid1.Recordset.Fields("IBAN") > 0 Then
    MsgBox "Zahlung ohne IBAN nicht möglich !", , "keine IBAN vorhanden2"
    Exit Sub
End If
Was könnte der Grund für die notwendigen Änderungen sein?

VG

Beitrag wurde zuletzt am 22.01.18 um 08:23:14 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid (Feld auf Eintrag prüfen) 
Autor: Franki
Datum: 25.01.18 03:23

Hallo,
du möchtest prüfen, ob in einem Feld/Spalte etwas drin steht oder nicht.
Soweit so gut, aber du mußt halt unterscheiden zwischen "nichts" und "gar nichts". Klingt blöd, aber war immer schon so bei Datenbanken abhängig vom Feldtyp und dessen Eigenschaften.

Ein Leerstring bedeutet nicht das gleiche wie IsNull, denn da ist nicht mal ein Leerstring drin sondern das Feld hat einfach gar keinen Inhalt.

Die Abfrage auf > 0 bezieht sich auf die Länge des Inhalts. Der kann 0 sein aber auch NULL. Das ist ein Unterschied der zu verschiedenen Ergebnissen führen kann. Ein leerer String hat die Länge 0 ein Feld ohne Inhalt hat den Wert NULL.

Wie hast du das Feld denn deklariert? Wenn als Textfeld, (logisch, da alphanumerisch), dann solltest du auf entweder Länge oder Inhalt oder besser beides prüfen und zwar auf DB Ebene und nicht erst im Grid.

Es bringt ja nichts, Daten einzulesen wenn man weiß, dass man gewisse Datensäzte später ausfiltern muss. Also besser die Daten anhand der gewünschten Kriterien in ein Grid einlesen und man braucht später nicht mehr auszusieben. Das steigert die Performance der ganzen Anwendung erheblich, grade wenn es sich um Netzwerkanwendungen, Darstellung auf mobiler Ebene usw. handelt.

Gruß
Frank

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid (Feld auf Eintrag prüfen) 
Autor: ModeratorDieter (Moderator)
Datum: 25.01.18 07:22

Wenn jetzt zu einem Fehler kommt (ich nehme an Fehler 94 - ungültige Verwendung von NULL), dann liegt das daran, dass das DB-Feld in der DB-Tabelle mit der Eigenschaft "Null erlaubt" definiert ist und gleichzeitig kein Inhalt darin gespeichert ist - auch kein Leerstring. Mit dem DataGrid-Control selbst hat das absolut nichts zu tun.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel