Feld zu View hinzufügen

Hallo zusammen,

in unserem Projekt verwenden wir eine Ansicht, die auf einer Datenbanksicht basiert. Wenn ich nun nachträglich im Enterprise Manager (SQL Server 2000) in der Sicht ein zusätzliches Feld hinzufüge, erscheint beim Start des CRM:


"Die physikalische Struktur der Datenbank-Tabelle/Sicht passt nicht genau zur Ansichtskonfiguration. Es bestehen folgende Inkonsistenzen, die die Funktionsweise des Projekts beeinträchtigen können:

Felder, bei denen der konfigurierte Feldtyp nicht (merh) zum physikalischen passt: Feld1, Feld2, Feld3.

Felder, die nicht (mehr) in der Datenbank-Tabelle/Sicht vorhanden sind:

Um die Ansichtskonfiguration anzupassen, rufen Sie die Ansichtseigenschaften auf, bis dahin wird mit einer temporären Ansichtskonfiguration gearbeitet."


Feld1, Feld2, Feld2 sind dabei Felder, die in der Sicht nach dem neuen hinzugefügten Feld kommen und schon vor dem Hinzufügen des zusätzlichen Feldes vorhanden waren. Wenn ich die Eigenschaften der Ansicht öffne, erscheint das neue Feld nicht.

Wie also kann ich eine Sicht so ändern, so dass die Änderungen im CRM greifen?

Vielen Dank für jede Hilfe!

Markus Schneider

Hallo!

Ich glaube man muss den cRM einmal neu starten und dann in die Ansichtenkonfiguration der Sicht rein. Anschliessend muss man nochmal die Feldtypen kontrollieren und mit Ok den Dialog bestätigen.
Zumindest hat das bei mir immer so funktioniert :slight_smile:

Hallo Pit,

den CRM habe ich nach der Änderung der Sicht im EM schon neu gestartet, allerdings zeigt er mir in der Ansichtenkonfiguration einfach nicht das zusätzliche Feld an.

Vielleicht sollte ich im CRM die Ansicht löschen und neu erstellen? Aber was ist dann mit der dazugehörigen Eingabemaske (war ziemlich viel Arbeit)?

Müsste doch eigentlich einfacher gehen, weil ich mir denke, dass Änderungen an Sichten doch schon öfters vorkommen können.

Hi Markus,

ja ich mache das auch so immer:

zuerst Ansicht löschen und mit demselben name erstellen, danach die Eingabemaske komplett neu erstellen. Ich denke es gibt in einem solchen Fall, also wenn sich die Struktur der View ändert, keine bessere Lösung. Wenn du geübt bist, dann dauert es auch nur 5 Minuten die Eingabemaske neu zu machen.

Jeff

Hi Markus,

[quote]Jefff Simons:
zuerst Ansicht löschen und mit demselben name erstellen, danach die Eingabemaske komplett neu erstellen.[/quote]

AUA! :slight_smile: Dann scheint Jeff nur sehr einfache Masken zu verwenden, das Design einer gescheiten Maske kann Tage in Anspruch nehmen (Container, Folgeverknüpfungen, Eingaberegeln, Script Buttons etc pp), Jeff kann ja mal versuchen die „Firmen“-Eingabemaske „mal eben“ neu zu erstellen. SCNR. :slight_smile:

Markus, bevor du was löschst!

Mach folgendes:

Lege eine neue Ansicht im cRM an („Test“), die genau auf der von dir angesprochenen Datenbank-Sicht beruht. Taucht bei der denn das neue Feld jetzt auf? Wenn ja, sollte das Feld gefälligst auch in der anderen Ansicht auftauchen. Wenn es in der Test jetzt auftaucht aber in der anderen nicht, dann riecht das nach einem Programmfehler.

Wenn es auch nicht in „Test“ auftaucht, dann kannste dir die Arbeit mit der Neuerstellung der Maske sparen. Dann liegt es daran, dass das Feld vom Server einfach nicht „angeboten“ wird. Sprich: ein select auf diese Sicht liefert einfach nicht das Feld als Ergebnis-Spalte.

Das musst du am Server checken. Und zwar: Hattest du das neue Feld lediglich in der TABELLE (auf der die Sicht aufsetzt) hinzugefügt, oder in der Sicht-DEFINITION („create view …“) selber (ebenfalls)? Wenn du es nur in der Tabelle hinzugefügt hast, dann ist der Effekt kein Wunder: der SQL Server merkt sich bei einer Datenbank-Sicht explizit, welche Felder angezeigt werden sollen. Dort musst du das Feld dann auch explizit mit aufnehmen. (Management Studio, auf die Sicht gehen und „Ändern“ wählen und das Feld dazupacken.)

Gruß

Alex

Hallo Alex,

das war die Lösung!

Deine Vermutung war genau richtig: ich hatte in der Tabelle, auf der die Sicht beruht ein Feld hinzugefügt.
Nun bin ich im Enterprise Manger mit Rechtsklick auf die Sicht - „Sicht bearbeiten“ und habe dann ohne was zu ändern die Sicht gespeichert - das war’s.

Vielen Dank für Deine Hilfe, da wäre ich nie draufgekommen.

Grüsse

Markus