Office: Update eines Datensatzes mit NULL

Helfe beim Thema Update eines Datensatzes mit NULL in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Access XP Projekt mit MS SQL Server Hilfe, hilfe, hilfe.... ich sitze schon den ganzen Tag an diesem Problem... Ich weiß wirklich nicht mehr weiter,... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Julietta, 27. Oktober 2003.

  1. Update eines Datensatzes mit NULL


    Access XP Projekt mit MS SQL Server


    Hilfe, hilfe, hilfe....
    ich sitze schon den ganzen Tag an diesem Problem... Ich weiß wirklich nicht mehr weiter, kein Buch, kein anderer Beitrag, keine OLH kann mir helfen...
    Vielleicht ja einer von Euch???

    Ich habe ein Formular, in dem man die Daten einer Hardware verändern kann.
    Man kann z.B. den Besitzer ändern, den Namen der Hardware u.s.w.
    Die neuen Daten aktualisiere ich dann, indem ich einen SQL String erzeuge.
    Den hänge ich unten einmal an.

    Nun ist es aber so, dass eine Hardware nicht unbedingt einen Besitzer hat.
    Das heißt, die UserID in der Tabelle Hardware kann auch NULL sein.
    Sie darf nicht 0 sein, da es ein verknüpftes Feld mit der Tabelle Mitarbeiter ist, und es keinen Mitarbeiter mit der UserID 0 gibt.
    Das Feld habe ich in der Tabelle als Integer deklariert.

    Im Vb Code hinter dem Button " Änderungen speichern" lese ich zuerst alle neuen Werte für die Hardware in Variablen aus.
    Da gab es das erste Problem mit dem NULL- Wert in der UserID.
    Ich habe die UserID nun als Variant deklariert, dann ist Null als Wert erlaubt.
    Wenn ich den Code ausführe und UserID NULL ist, dann stoppt der Code am SQL - String.
    Wenn ich mit dem Mauszeiger mal darüberfahre, dann enthält die UserID- Variable aber den Wert NULL..

    Wie kann ich denn einen NULL Wert in die Tabelle speichern??
    Es funktioniert einfach nicht.
    Es kommt folgende Fehlermeldung: Laufzeitfehler Nr. 156
    Incorrect Syntax near the keyword "Where".

    Wenn mir jemand helfen kann, dann wäre das wie ein vorgezogenes Weihnachtsgeschenk!!!

    ps. Ist es nicht eine der normalsten Sachen der Welt, einen NULL wert in eine Tabelle zu speichern..?
    Julia

    Code:
    :)
     
    Julietta, 27. Oktober 2003
    #1
  2. Sind die Klammern im WHERE sicher richtig???
    Sollte am Ende des SQL-Strings nicht ein ; stehen??

    Mfg, Michael
     
  3. Das liegt wohl daran, dass ich mit ADO arbeite, jedenfalls funktioniert es bei mir sonst immer so...
    Ich denke, die Fehlermeldung kommt daher, dass im SQL String an der einen Stelle NULL steht, wäre ja theoretisch in der Zeile über der WHERE Zeile..
    Aber wie ich das lösen kann???
     
    Julietta, 29. Oktober 2003
    #3
  4. Update eines Datensatzes mit NULL

    Ich kann sonst eigentlich nichts erkennen. Eventuell änderst Du das ganze so, das Du Dir zuerst eine String-Variable zusammenbastelst und diese zur Kontrolle ausgibst. Vielleicht kann man dort was erkennen. Eventuell dabei den NULL-Wert weglassen und prüfen ob es dann funktioniert oder ob es gar nicht daran liegt.

    Leider keine bessere Idee verfügbar ....!

    Mfg, Michael
     
  5. Also, wenn ich die UserID erstmal ganz weglasse, funktionierts..
    Wenn ich im SQL String statt der Variable useridneu, die NULL enthält, einfach UserID = NULL schreibe, dann geht das auch,
    aber nur nicht mit einer Variable, die NULL enthält...
    Zur Not kann ich das so machen mit = NULL,
    aber wenn es dann mal mehrere dieser Problemfelder gibt, wird das ein ganz schönes Wirrwar an IF- Verzweigungen...
    Es könnte sooo einfach sein....
    Danke, dass Du Dir mein Problem angeschaut hast...
    Julia
     
    Julietta, 29. Oktober 2003
    #5
  6. Hallo Julia, hast Du in den Tabelleneigenschaften für Dein Feld geprüft ob Nullwerte erlaubt sind ??? Hatte nämlich auch mal das Problem, dass er einen SQL-String nicht in die Tabelle schreiben konnte weil in der Feldeigenschaft Eingabe erforderlich auf Ja stand.
    Gruß Smaug *angel
     
  7. Neee, leider...das ist nicht der Fehler...
    Ich kann ja auch NULL in die Tabelle schreiben, so ist es nicht..
    Nur eben nicht mit einer Variablen, die NULL enthält..
    mittlerweile denke ich, dass es an den Variablentypen liegt...
    Ich habe in einem anderen Formular gar keine Variablen deklariert, dann sind sie ja automatisch Typ Variant..
    dort funkioniert alles ganz ohne Probleme, mit der selben Syntax...
    Ist doch komisch...
    Ist es denn sehr schlimm, wenn man die Variablen nicht deklariert?
    Braucht doch höchstens ein bißchen mehr Platz und ist für den Programmierer selbst etwas unhandlicher...
    Julia
     
  8. Update eines Datensatzes mit NULL

    Um mit NULL arbeiten zu können, musst Du sowieso den Datentyp Variant verwenden. Es ist sehr sinnvoll alle Variablen zu deklarieren. Erstens behältst Du eher den Überblick beim Programmieren, ausserdem musst Du keine aufwändige Fehlersuche betreiben wenn ein User etwas unsinniges eingibt (Access motzt sofort statt irgendwann mal später, und dann hättest Du das Problem den Auslöser des Fehlers zu finden - der könnte dann ja auch in einem anderen Modul liegen).
    Gruß Smaug *angel
     
  9. Ist die Syntax nicht UPDATE... SET... FROM ... WHERE???
    Soll heißen, fehlt nich die Tabellenangabe?
    Gruß
    Maik
     
    PC-Supporter, 29. Oktober 2003
    #9
  10. \@Maik:
    Jaein. In diesem Falle soll wohl eine Spalte innerhalb einer Tabelle
    verändert werden.
    Wenn dies über mehrere Tabellen geht mußt Du die Quell- und die
    Zieltabelle angeben.
     
  11. Merci für Eure Mühe...
    ich sehe schon ein, dass ich deklarieren muss...
    habe mir jetzt mal was zum Deklarieren durchgelesen... wußtet Ihr, dass bei folgender Weise zu deklarieren:

    Code:
    nur die letzte Variable Integer ist....?
    Die var1 und var2 sind automatisch trotzdem variant...
    das habe ich bisher immer so gemacht...
    also lieber jede Variable in eine eigene Zeile.
    Wollt ich nur mal kurz mitteilen, falls es jemanden interessiert.

    Bis denn
    Julia
     
    Julietta, 29. Oktober 2003
    #11
  12. Hallo

    Wie wärs wenn du die Variable
    Code:
    Mit der NZ() Funktion behandelst?

    Die Deklaration kann auch in einer Zeile erfogen.

    z.B

    Code:
     
  13. Update eines Datensatzes mit NULL

    stimmt, in einer Zeile gehts auch, aber eben nicht ohne immer wieder int, string u.s.w. hinzuschreiben, so wie ich es vorher getan habe...

    In der Tabelle ist die UserID vom Typ Int, deshalb weiß ich nicht, ob man einfach ein "" hineinschreiben darf...ich dachte, das ginge nur bei Strings?

    Julia
     
    Julietta, 29. Oktober 2003
    #13
  14. Ich habe ein solches Problem angers geläßt, bei mir würde es dann extra einen Benutzer namens "Kein Benutzer" geben.

    Dann weiß ich auch, das dort kein eingabefehler vorliegt, sondern der Wert absichtlich eingetragen wurde.

    Nullwerte mag ich nicht, die habe ich hier oft genug, weil ein DB-Benutzer einfach mal wieder die DB geschlossen hat.
     
    hal_9000, 30. Oktober 2003
    #14
  15. Das Problem ist dann bei mir, dass jede Hardware einer Kostenstelle zugewiesen ist, manchmal zusätzlich auch einem user. Dieser User muss auf der gleichen Kostenstelle sein wie die Hardware. Dann müßte ich ja für jede Kostenstelle einen "Kein Benutzer"anlegen..
    Ansonsten wäre es bestimmt besser.
    Es gibt auch die Möglichkeit, eine Zusatztabelle anzulegen, die 1:1. alle Hardware enthält, die einem User zugewiesen ist, also
    HardwareID ___ UserID
    Aber ich denke, es sollte auch mit NULL feldern gehen...
    Julia
     
    Julietta, 30. Oktober 2003
    #15
Thema:

Update eines Datensatzes mit NULL

Die Seite wird geladen...
  1. Update eines Datensatzes mit NULL - Similar Threads - Update Datensatzes NULL

  2. Mit CurrentDb.Execute Update Tabelle aktualisieren aus einer anderen Tabelle

    in Microsoft Access Hilfe
    Mit CurrentDb.Execute Update Tabelle aktualisieren aus einer anderen Tabelle: Hallo Leute, ich hoffe ihr könnt mir weiter helfen... ich habe folgendes Modul erstellt: Public Sub Regiesum() Dim Summe As Double Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsAZ As...
  3. Edit und Update

    in Microsoft Access Hilfe
    Edit und Update: Hallo liebe Gemeinde. Ich beiße mir die Zähne aus und benötige ein wenig Hilfe. Zunächst der Code: Public Sub WriteFilesInTable() Dim db As DAO.Database Dim rs, rs1 As DAO.Recordset Dim strTbl,...
  4. Outlook Signaturen fehlen nach update

    in Microsoft Outlook Hilfe
    Outlook Signaturen fehlen nach update: Hallo, ich nutze Win 10 und Outlook 2016. Anscheinend gab es ein größeres Update im April und als erstes fiel mir auf, dass die Statusleiste von unten nach links verschoben wurde. Das konnte ich...
  5. Outlook AutoVervollständigen-Liste

    in Microsoft Outlook Hilfe
    Outlook AutoVervollständigen-Liste: Hallo zusammen, seitdem Microsoft Office Home and Business 2019 ein Update auf Version 16.0.16227.20280 am 18.04. automatisch installiert hat, werden keine E-Mail-Adressen mehr vorgeschlagen,...
  6. Access Tabelle mit Excel Daten updaten

    in Microsoft Access Hilfe
    Access Tabelle mit Excel Daten updaten: Hallo zusammen, ich habe eine Excel Arbeitsmappe die ständig aktualisiert wird. Die Spaltennamen stimmen mit den Spaltennamen der Tabelle in Access überein. Jetzt möchte ich gerne einen VBA Code...
  7. Attribut Schreibschutz

    in Microsoft Excel Hilfe
    Attribut Schreibschutz: Hallo Wissen...! In einem Excel-Dokument habe ich diverse Makros, welche jeweils ein spezifisches Word Dokument öffnen und in diesem Daten aus dem Excel an bestimmte Stellen im Word-Dokument,...
  8. Formular zum Update mehrerer Datensätze auf einmal

    in Microsoft Access Hilfe
    Formular zum Update mehrerer Datensätze auf einmal: Hallo & guten Morgen zusammen, ich hab mal wieder ein kleines Problem. Und zwar habe ich ein Formular welches bereits auf einer Abfrage basiert. In diesem Formular (siehe anhängendes Bild) muss...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden