none
Access 2003 to MSSQL 2008 R2

    Frage

  • Hallo

    Ich bin dabei meine Anwendung so zu gestallten das ich die möglichkeit habe die mdb anzusprechen oder den mssql server

    da ich die mdb gerne soweit anpassen möchte das diese sehr weit an der sql datenbank ist möchte ich die Ja/Nein Wahr/Falsch Felder in den Tabellen mit den Standardwerten so belegen das in Access anstelle Ja Nein Wahr falsch nur die 0 oder 1 drin steht so wie es in dem bit feld in der mssql datenbank ist

    ich bin mir nur nicht sicher ob ich das ungestraft machen sprich meine Frage bedeutet ja Nein Wahr falsch in Access 0 und 1 ich habe irgdenwo mal -1 gesehen

    Danke

    Michael

    Donnerstag, 8. März 2012 08:12

Antworten

  • Hallo!

    Ich verwende in MSSQL-Tabellen bit (allerdings mit Defaultwert 0 und NOT NULL, damti sie das gleiche Verhalten wie Ja/Nein-Felder von Jet haben). Dieses Felder werden beim Verknüpfen der Tabelle als Ja/Nein-Felder angegeben und man kann sie ganz normal in den Formularen verwenden.

    Eines muss man allerdings beachten: Wenn man in Abfragen nach diesen Feldern filtert, darf man als Filterwert nicht -1 für True einstellen sondern muss True verwenden, sonst kann es passieren, dass per ODBC der Wert "-1" übergeben wird und der Server dann keinen Treffer findet.

    ... aber True statt -1 ist sowieso besser lesbar. ;-)

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Virtueller Access-Stammtisch


    • Bearbeitet Josef Pötzl Freitag, 9. März 2012 08:39
    • Als Antwort markiert MCDPone Freitag, 9. März 2012 16:58
    Freitag, 9. März 2012 08:39

Alle Antworten

  • Hallo

    In Access werden 0 für False und -1 fürTrue gespeichert.

    Daher verwende ich im SQL Server ein smallint Feld dann kann man die Daten problemlos übernehmen und die Checkboxfelder funktionieren in Access wie gewohnt.

    Gruss Markus

    Donnerstag, 8. März 2012 14:31
  • Hallo Markus

    was ist dann in VBA dort muss ich dann die felder aber mit 0 und 1 abfragen kann nicht mehr True oder False benutzen oder?

    Freitag, 9. März 2012 07:08
  • Hallo!

    Ich verwende in MSSQL-Tabellen bit (allerdings mit Defaultwert 0 und NOT NULL, damti sie das gleiche Verhalten wie Ja/Nein-Felder von Jet haben). Dieses Felder werden beim Verknüpfen der Tabelle als Ja/Nein-Felder angegeben und man kann sie ganz normal in den Formularen verwenden.

    Eines muss man allerdings beachten: Wenn man in Abfragen nach diesen Feldern filtert, darf man als Filterwert nicht -1 für True einstellen sondern muss True verwenden, sonst kann es passieren, dass per ODBC der Wert "-1" übergeben wird und der Server dann keinen Treffer findet.

    ... aber True statt -1 ist sowieso besser lesbar. ;-)

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Virtueller Access-Stammtisch


    • Bearbeitet Josef Pötzl Freitag, 9. März 2012 08:39
    • Als Antwort markiert MCDPone Freitag, 9. März 2012 16:58
    Freitag, 9. März 2012 08:39
  • Danke Josef 

    ich habe eh True drin - ich habe jetzt auch mit 0 gearbeitet aber als True Wert 1 als Defaultwert eigesetzt Funktioniert sowohl in Access als beim "Export" zum mssql Server

    Wenn ich einen neuen Datensatz der mit 1 als Defaultwert erstellt wurde mit VBA abfrage bekomme ich ein -1 aber der sql Server hat es wieder richtig.

    kann ich das dann so nutzen oder denke ich da irgendwie falsch

    Freitag, 9. März 2012 17:04
  • Hallo!

    Ob du 0 oder 1 beim Bit-Feld im MSSQL-Server einstellst ist egal. Die Werte werden durch ODBC korrekt übersetzt.

    Beim Server könnte man aber auch NULL für Bit-Felder verwenden. Das kann dann in Access etwas irritierend sein, da trotz NULL ein False (0) angezeigt wird - beim Filtern auf False kommen diese Datensätze aber nicht als Treffer.
    Aus diesem Grund lasse ich bei meinen Tabellen, die ich für Access verwende, kein NULL bei Bit-Feldern zu.

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Virtueller Access-Stammtisch

    Freitag, 9. März 2012 18:23