If-then-else-end in MSaccess

  • geschlossen
  • Access

  • detank
  • 1423 Aufrufe 1 Antwort

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • If-then-else-end in MSaccess

    Kann man eine SQL-query mit IF-then-Else Instruktionen auch in MSacces schreiben ?
    Hat jemand vielleicht einen Beispiel ?

    Hier ist ein Beispiel aus SQL:

    @id int,
    @description nvarchar(100),
    @contentTypeId int,
    @sortOrder int

    AS

    DECLARE @returnValue int

    IF (@id IS NULL) -- Insert a new item
    BEGIN
    IF NOT EXISTS (SELECT Id FROM Category WHERE Description = @description AND ContentTypeId = @contentTypeId)
    BEGIN
    INSERT INTO Category(Description, ContentTypeId, SortOrder) VALUES(@description, @contentTypeId, @sortOrder)
    SET @returnValue = SCOPE_IDENTITY()
    END
    ELSE
    BEGIN
    SET @returnValue = -1 -- record already exists
    END
    END
    ELSE -- update an existing item
    BEGIN
    IF NOT EXISTS (SELECT Id FROM Category WHERE Description = @description AND ContentTypeId = @contentTypeId AND Id <> @id)
    BEGIN
    UPDATE
    Category
    Set
    Description = @description,
    ContentTypeId = @contentTypeId,
    SortOrder = @sortOrder
    WHERE
    Id = @id
    SET @returnValue = @id -- return the id of the existing / updated record
    END
    ELSE
    BEGIN
    SET @returnValue = -1 -- record already exists
    END
    END

    RETURN @returnValue


    Vielen Dank im voraus,
  • Hallo!

    Direkt im Access Abfrage-Editor geht das nicht.

    Wie verwendest du den Access? Wenn du Frontend und Backend in Access hast, dann kannst du so etwas in VBA nachbauen.

    Wenn du als Backend eine CS-Datenbank (wie MS-SQL-Server) verwendest, dann kannst du die Abfrage dort erstellen und von Access aus aufrufen.

    Wenn du mir noch ein paar Details verrätst, kann ich dir vielleicht weiterhelfen.

    Ciao

    Egon