IIF in T-SQL

Frage: Gibt es in T-SQL ein Pendant zu IIF? Lösung: IIF wird in T-SQL nicht unterstützt, sondern muss mit Case ersetzt werden. Hierzu ein kleines Beispiel: SELECT CASE WHEN AccessVersion = 95 THEN ’nicht so gut‘ ELSE ‚gut‘ END /* übernommen aus der Original sqlfaq.de */

Format einer GUID

Frage: Eine SQL Server-Tabelle beinhaltet eine Spalte vom Datentyp uniqueidentifier. Die Daten dieser Spalte werden in Access in einem anderen Format verarbeitet. Wodurch wiederum der SQL Server die Daten nicht korrekt erkennt. Auch die Access-Funktion stringfromguid(guidwert) kann den Wert nicht korrekt aufbereiten. Wie muss die GUID formatiert werden? Lösung: Die Access-Funktion stringfromguid(guidwert) liefert die GUID … Weiterlesen

Verknüpfte Tabellen per ADO aktualisieren

Frage: Tabellen und Sichten einer SQL Server-Datenbank sollen per ADO in Access eingebunden werden. Lösung: Das Verknüpfen von SQL Server Objekten in eine Access-Datenbank wird von ADO nicht unterstützt. ADO erstellt nur Verbindungen zu Datenbanken. Ab Access XP ist das Konzept der Tabellenverknüpfungen mittels ADOX möglich. /* übernommen aus der Original sqlfaq.de */

Autowert nach Insert ermitteln

Frage: Per VBA wird ein neuer Datensatz in einer SQL Server-Tabelle hinzugefügt. Dabei erhält dieser Datensatz einen neuen Autowert (Identity). Wie lässt sich dieser neue Wert in VBA weiterverwenden? Lösung: Im Gegensatz zu Access wird der neue Wert in SQL Server erst nach dem Einfügen des neuen Datensatzes erzeugt. Um diesen neuen Wert zu ermitteln, … Weiterlesen

Strukturänderung an verknüpften Tabellen

Frage: Eine in Access eingebundene SQL Server-Tabelle erhält eine neue Spalte. Jedoch wird in Access die neue Spalte in der Entwurfsansicht der Tabelle nicht angezeigt. Lösung: Nach Strukturänderungen an Tabellen müssen diese erneut in Access eingebunden werden. /* übernommen aus der Original sqlfaq.de */

Aufruf einer Gespeicherten Prozedur aus einer MDB

Frage: In Access soll eine Gespeicherte Prozedur aufgerufen werden. Lösung: Es gibt verschiedene Möglichkeiten, die in der Access-Hilfe ausführlich beschrieben sind. Hier ein paar Stichpunkte: 1) Passthrough-Abfrage (DAO) Mit der Passthrough-Abfrage wird direkt auf den SQL Server zugegriffen. Die Ausführung der Anweisung erfolgt hierbei in T-SQL. DECLARE @var1 int EXEC spName @var1 OUTPUT SELECT @var1 … Weiterlesen

Datumsformat für SQL Server

Frage: In welchem Format muss ein Datum an den SQL Server übergeben werden? Lösung: Das Datum kann als String in verschiedenen Formaten übergeben werden. Die sicherste Variante ist das ISO-Format (yyyymmdd). Die Online-Hilfe des SQL Servers bietet unter den Stichworten Convert und Cast eine Auflistung der möglichen Datumsformate und Konvertierungen. /* übernommen aus der Original … Weiterlesen

Text- und Memofelder bei eingebundenen Tabellen vom Typ ‚Text 255‘

Frage: Die Text- und Memospalten einer in Access eingebundenen SQL Server-Tabelle werden nur bis zu einer Länge von 255 Zeichen unterstützt. Obwohl die SQL Server-Tabelle Textspalten mit längeren Definitionen und auch Memofelder enthält. Lösung: Spalten vom Typ nchar, nvarchar bzw. ntext werden in Access 97 als text (255) eingebunden, da Access 97 keine Unicode-Datentypen erkennt. … Weiterlesen

Primärschlüssel einer Sicht in Access

Frage: Die Daten einer in Access eingebundenen SQL Server-Sicht lassen sich nur ändern, wenn diese einen Primärschlüssel besitzt. Wie aber kann zu einer Sicht ein Primärschlüssel definiert werden? Lösung: Ein Primärschlüssel lässt sich beim Einbinden der Sicht in die Access-Datenbank vergeben. Anschließend steht dieser Primärschlüssel nur innerhalb Access zur Verfügung. Hierzu ein Beispielskript von Elmar … Weiterlesen

Verbindung ohne DSN

Frage: In eine Access-Datenbank sollen die Tabellen einer SQL Server-Datenbank nicht über eine ODBC-Datenquelle, sondern vielmehr DSN-less eingebunden werden. Was ist bei der Verbindungszeichenfolge anzugeben? Lösung: ODBC;DRIVER={SQL Server};SERVER=servername;DATABASE=datenbankname;UID=benutzername;PWD= kennwort Die Parameter Uid und Pwd können bei der NT-Authentifizierung entfallen und durch Trusted_Connection=Yes ersetzt werden. Optional kann der String um folgende Parameter erweitert werden: APP=applikationsname;WSID=workstationId;AUTOTRANSLATE=yes/no;REGIONAL=yes/no /* … Weiterlesen