Sonic83 Geschrieben 12. November 2001 Geschrieben 12. November 2001 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
Denise Geschrieben 12. November 2001 Geschrieben 12. November 2001 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
Sonic83 Geschrieben 12. November 2001 Autor Geschrieben 12. November 2001 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.
Denise Geschrieben 12. November 2001 Geschrieben 12. November 2001 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
twin Geschrieben 12. November 2001 Geschrieben 12. November 2001 Zeigt mir ein View nicht mehrere Spalten einer Tabelle an ?? Oder geht das auch mit mehreren Tabellen ?
Denise Geschrieben 12. November 2001 Geschrieben 12. November 2001 @twin: wie man es haben moechte, einige (alle/wahlweise) spalten einer tabelle oder auch ueber mehrere Tabellen. Gruesse Denise
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden