View in Listenansicht mit Filter öffnen

cRM11, Large

Hallo,

ich möchte gerne per Schaltfläche eine Ansicht in der Listenansicht (heißt das so?) öffnen und (auch wegen der Performace) direkt einen Filter setzen.

Ich habe das mit

Dim sViewName : sViewName = "BIR_DIS"
Dim sInvarianz : sInvarianz = "Filterwert"
Dim sFilter : sFilter = "SetFilterDirectSQL: SELECT ""BIR_DIS"".""BDT_UID"" FROM ""BIR_DIS"" WHERE ""BDT_Invarianz"" = '" & sInvarianz &"'"

Set oView = oProject.OpenNewViewByName(sViewName, sFilter)

probiert.
Dabei stürzt der cRM komplett ab…

Was mache ich falsch???

Vielen Dank im Voraus,
Wolfgang

Was heißt „Absturz“ genau? :thinking:

Also folgendes Script öffnet in der Large Solution tadellos die „Firmen“ Ansicht und hat „vorgefiltert“, dass nur A-Firmen (ABC=‚A‘) enthalten sind:

Dim sViewName : sViewName = "Firmen"
Dim sComparisonValue : sComparisonValue = "A"
Dim sFilter : sFilter = "SetFilterDirectSQL: SELECT ""Companies"".""ID"" FROM ""Companies"" WHERE ""ABC"" = '" & sComparisonValue & "'"

Set oView = cRM.CurrentProject.OpenNewViewByName(sViewName, sFilter)

Ich hatte mit „BIR_DIS“ den Namen der Ansicht, nicht den der zugrundeliegenden Tabelle verwendet…
So funktioniert es nun!

Absturz heißt (wenn die Information noch relevant ist): der cRM zeigt über lange Zeit (>60 Minuten) die Windows-Sanduhr (bzw. den neuen, rotierenden Kreis), bei einem Klick meldet Windows, dass das Programm nicht antwortet. Am Ende des Prozesses erhalte ich vom cRM die Meldung, dass cRM nicht mehr funktioniert und beendet werden muss.

Vielen Dank!
Wolfgang

Wenn wir es nachstellen können, fixen wir das.

Allerdings: Ich hatte beim Test zuerst ‚Copmanies‘ statt ‚Companies‘ geschrieben, und berechtigterweise direkt eine SQL Server Fehlermeldung kassiert. Das wäre eigtl Ihr Szenario. :thinking: Sie haben nicht zufällig doch (auch) eine Tabelle mit dem Namen, die sehr langsam ist? :innocent::grin: Bin also sehr skeptisch, wie wir es reproduzieren können. Wir kümmern uns…

Die zugrundeliegende View (vielleicht ist diese Info wichtig) heißt [dbo].[v_archiv_BIR_DIS]

Der Zugriff erfolgt über einen Linked Server, beide Server (und beide betroffenen Datenbanken) waren zum „Unfallzeitpunkt“ live, der direkte Abruf von Daten über
SELECT * FROM [dbo].[v_archiv_BIR_DIS]
aus der CRM-Datenbank im SQL-Server Management Studio hat tadellos funktioniert.

Happy Hunting! (Wenn diese Bugs nicht so schnell und geschickt wären!)
Wolfgang

© combit GmbH