Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datenherkunft eines Berichts als SQL-Statement

Empfohlene Antworten

Veröffentlicht

Hallo Leute!

Ich hab folgendes Problem. Ich muss ein SQL-Statement mit VBA zusammenbauen, da es flexibel bleiben muss. Wenn ich auf einen Button klicke, dann geht ein Bericht auf. In diesem Bericht ist im Code hinterlegt, dass die Datenherkunft eine Variable ist in der SQL steht, also:

Me.RecordSource = strSQLBericht

Jetzt hab ich nur folgendes Problem. Das SQL-Statement geht über 11(!!!) Tabellen mit JOIN und so...Jetzt ist das SQL Statement über 2000 Zeichen lang. Und wenn jetzt der Bericht geöffnet ist kommt eine Fehlermeldung in der Codezeile, dass die Eigenschaft RecordSource zu lang ist.

Hat von euch schonmal jemand so ein Problem gehabt und kann mir weiterhelfen???

Gruß Sonic83

Hi,

wie waere es denn damit, dass du vorher eine view erstellst, die der sqlAbfrage entspricht (inetwa) und dann ueber die view den statement laesst?

Nur ein Vorschlag... spart das was du hasst und die performance...

Gruesse

Denise

Was verstehst du unter einem View??? Ist das für dich eine Abfrage???

Ich muss leider das SQL-Statement per VBA zusammensetzen, weil die Tabellennamen variable sind.

sag mir doch bitte fuer welche Datenbank es sein soll?

Eine View ist eine Ansicht (wie man es auch uebersetzt) und die wird folgendermassen angelegt:

CREATE OR REPLACE VIEW "shema"."tabellenname" (

"TOPICID","BASENAME","DISPLAYNAME","ANSIDISPLAYNAME","SORTNAME",

"SEARCHNAME","EXISTENCESTARTDATE","EXISTENCEENDDATE",

"RESOURCEID","RESOURCETITLE","ORIGINALRESOURCEID",

"RESOURCETYPEID","RESOURCECONTENTSSHORT",

"OCCURRENCEROLETOPICID") AS

SELECT t.TopicId, t.BaseName, t.DisplayName,

t.ANSIDisplayName, t.SortName,

t.SearchName, t.ExistenceStartDate, t.ExistenceEndDate,

rt.ResourceId,

rt.ResourceTitle, rt.OriginalResourceId,

rt.ResourceTypeId, rt.ResourceContentsShort,

100 occurrenceroletopicid

FROM Topic t,

Occurrence o,

ResourceTable rt

WHERE

o.ResourceId=rt.ResourceId AND

o.TopicId=t.TopicId AND

(o.SortNo=1 OR o.OccurrenceRoleId=5000002)

(ist nur ein Beispiel...die namen muessen natuerlich angepasst werden)

Das ist unter oracle... duerfte aber unter anderen nicht viel unterschiede geben.

Dann brauchst du nur die view abzufragen, anstatt ueber 11Tables zu gehen.

Gruesse

Denise

Zeigt mir ein View nicht mehrere Spalten einer Tabelle an ??

Oder geht das auch mit mehreren Tabellen ?

@twin:

wie man es haben moechte,

einige (alle/wahlweise) spalten einer tabelle oder auch ueber mehrere Tabellen.

Gruesse

Denise

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.