Jump to content

PeterWa

Members
  • Gesamte Inhalte

    9
  • Registriert seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

Fortschritt von PeterWa

Explorer

Explorer (4/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

0

Reputation in der Community

  1. Hallo! Mein System: SQL Server 2019 Express Management Studio 19,02 Ich habe von Access 365 eine Datenbank migriert. Wenn ich Tabellen in das Management Studio einfügen möchte dann gibt es Probleme. zB. Die Tabelle tblAngebot = OK Bei der Tabelle tblAngebotDeteil verabschiedet sich das Management Studio ohne Meldung, und startet wider neu. Das selbe Problem bei Auftrag, Lieferschein u. Rechnung. In der DB von AC standen diese Tabellen alle in 1:n Beziehung Wo habe ich den Fehler? Besten Dank für eine Tipp im voraus! mfg Peter
  2. Hallo Nils! Zuerst besten Dank für deine Antwort. Was möchte ich damit bezwecken: Es Werden für einen Kunden Lieferscheine Erstellt. Es wird dann eine Lieferscheinrechnung erstellt. Bei der Erstellung der Lieferscheinrechnung werden die beiden Nummern in einer Tabelle gespeichert => dbo.tblRGLF. Damit der Kunde weiß wie viele Lieferscheine in dieser Rechnung verpackt sind, gibt es ein Feld "Lieferscheine" und da werden die Lieferscheine aufgezählt zB. 15, 20,25 usw. Das sollte die Procedur erledigen. mfg Peter
  3. Hallo und guten Morgen! Ich plage mich schon etwas länger mit einer Schleife ab. Die im Grunde funktioniert. Nur das Ergebniss ist leider nicht das was ich mir erwarte. In einer Tabelle werden alle Lieferscheine die zur Rechnung gehören gespeichert. Es sollen die Lieferscheine wie folgt angezeigt werden: 18, 19, 20 usw. Bei meiner Anwendung werden sie im Tabellenvormat angezeift. Im nachfolgender Prozedur ist die Print Anweisung nur Zum Test. im Normalfall steht dort eine Update Anweisung. Wie ich schon erwähnt habe die Schleife selbst ist das Problem nicht, Nur bei der Übergabe auf die Variable @Lieferschein gibt es ein Problem. Ich währe für einen Tipp Dankbar! mfg Peter ALTER PROC [dbo].[spRechnungLFNr] @RgNummer int as set nocount ON; DECLARE @LieferscheinNr int; DECLARE @Lieferschein VARCHAR(255); DECLARE curLieferscheinNr CURSOR FOR SELECT LieferscheinNr From dbo.tblRGLF Where rechnungnr=@Rgnummer OPEN curLieferscheinNr; FETCH NEXT FROM curLieferscheinNr INTO @LieferscheinNr; WHILE @@FETCH_STATUS = 0 BEGIN set @Lieferschein = @LieferscheinNr; set @Lieferschein = @Lieferschein +','+ @LieferscheinNr; Print @Lieferschein FETCH NEXT FROM curLieferscheinNr INTO @LieferscheinNr END CLOSE curLieferscheinNr DEALLOCATE curLieferscheinNr Wie ich schon erwähnt habe die Schleife selbst ist das Problem nicht, Nur bei der Übergabe auf die Variable @Lieferschein gibt es ein Problem. Ich währe für einen Tipp Dankbar! mfg Peter
  4. Hallo und guten Abend! Ich habe eine neue DB erstellt und möchte eine Datenbankdiagramm anlegen. Wenn ich bestimmte Tabellen anfügen möchte, dann schaltet sich der Server automatisch ab und startet neu. Es kommt weder eine Meldung oder sonstwas. Wie kann ich dieses Problem beheben? Besten Dank für einen Tipp im voraus! mfg Peter
  5. Hallo! Ich sende die komplette Procedur. Nochmals die Function: Wenn Adresse und Rabattgruppe in @Kunden vorhanden, dann soll der Rabatt von @Kunde genommen werden. zB: '0007',3 Diese sind vorhanden und werden auch Übernommen Wenn aber statt der 3 eine 4, Dieser Kunde ist in der tblKundenrabatt nicht vorhanden. Er bekommt den @Special Rabatt Wenn ich die Proc ausführe und mit Print @Kunde und Print @Special konntroliere und @Kunde ist False ist das auch leer. Ich habe mich mit einer Unterabfrage abgemüht, wenn @Kunde ohne Ergebniss ist, eine 0 angezeigt wird, da bin ich aber an der Erstellung gescheitert Ich hoffe das ich jetzt alles richtig erklärt habe. mfg Peter ALTER Procedure [dbo].[spRabatt] @Rabattgruppe varchar(25), @Adresse Int, @Rabatt real Output AS Declare @Special as real Declare @Kunde as real Begin SET @Special = (SELECT Spezial FROM dbo.tblRabattgruppe WHERE Rabattgruppe = @Rabattgruppe); Set @Kunde = (Select Kundenrabatt FROM dbo.tblKundenRabatt WHERE Rabattgruppe = @Rabattgruppe And Kundenadresse = @Adresse); SET @Rabatt = @Kunde End
  6. Hallo! Mein Ziel: Es gibt in dieser Procedur 2 Abfragen die eine oben und eine die nur den Allgemeinen Rabatt beinhaltet. Wenn also die 1. Abfrage leer ist, dann wird die 2. Abfrage aktiv. Der Aufruf der Prc : @Rabattgruppe @Adresse @Rabatt steht für den Rückgabewert der Proc. Die Variableen @Kunde steht für die 1. Abfrage @Special steht für die 2. Abfrage Es sollte ungefähr so wie unten beschreiben klappen Ich stelle mir das zumindest so vor (vielleicht ein bischen Blauäugig?) if @Kunde = null SET @Rabatt = @Spcial -- Name der 2. Abfrage else SET @Rabatt =@Kunde mfg Peter
  7. Hallo und guten Morgen Bevor ich mein Problem erkläre möchte ich festhalten das dies meine ersten Schritte in SQL Server sind. Nun zur meiner Frage:: Wie behandelt man einen leeren Datensatz, Um es genauer zu sagen Wenn bei nachstehnder Abfrage kein Ergebniss vorhanden ist. wenn also bei nachstehender abfrage kein Wert vorhanden ist. Set @Kunde = (Select Kundenrabatt FROM dbo.tblKundenRabatt WheRE Rabattgruppe = @Rabattgruppe And Kundenadresse=@Adresse) Meine Versuche mit @Kunde is null oder @kunde = 0 Brachten mich leider nicht weiter, Besten dank für einen tipp im voraus! mfg Peter
  8. PeterWa

    Probleme mit Where

    Hallo und Guten Morgen! Ich sollte meine Frage eigentlich anders stellen: Wie kann ich einer Variablen einen Standartwert zuweisen. Beim Aufruf mit Exec ist der Wert in @Betrag von und @Betragbis 0 Das der Filter nicht funktionieren kann ist wohl klar ........ Rechnungspreis Between @BetragVon and @BetragBis, and ...... Der Wert der Variablen @Betragbis sollte zB. "999999" sein SQL Server ist halt nicht VBA. Meine Versuche mit If und Case brachten leider auch nicht den gewünschten Erfolg. LG Peter
  9. PeterWa

    Probleme mit Where

    Hallo und Guten Tag! Zuerst einmal ich bin neu im Forum. Ich habe mich bis jetzt mit Access "gespielt" und habe mir in den Kopf gesetzt meine Anwendung in SQL Server zu migrieren. Mein Thema Probleme mit Where ist vielleicht nicht ganz treffend. Ich versuche es aber trotzdem. Ich erstelle derzeit ein Formular Rechnungen suchen.Die Procedur: ALTER Proc [dbo].[spSuchenRechnung] @Kunde varchar(50) = 0, @Strasse Varchar(50) = 0, @PLZ varchar(10) = 0, @Ort varchar(50) = 0, @DatumVon date = Null, @DatumBis date = Null, @RgBetragVon Money = 0, @RgBetragBis Money = 0, @RGvon int = 0, @RgBis int = 0 AS SELECT * FROM dbo.tblRechnung LEFT JOIN dbo.tblKundenAdressen ON dbo.tblRechnung.Kundennummer = dbo.tblKundenAdressen.Adressnummer WHERE (CONCAT (Adresszeile_2, Adresszeile_1) LIKE @Kunde +'%') and -- or @Kunde + '%' is null) AND Strasse LIKE @Strasse +'%' and -- Or @Strasse is null AND PLZ LIKE @PLZ +'%' and --or @PLZ +'%' is null and Ort LIKE @Ort +'%' and ---or @ort +'%' is null and Rechnungsdatum Between @Datumvon and @Datumbis And Rechnungspreis Between @RgBetragVon and @RgBetragBis and Rechnungsnummer Between @rgvon And @rgbis ORDER BY dbo.tblRechnung.Rechnungsnummer, CONCAT (Adresszeile_2, Adresszeile_1); Zu meiner Frage: Ist es möglich in einer Where Bedingung eine Case function einzubauen? Wenn ich der Rechnungsnummer 0 (Null) übergebe dann sollen alle DS angezeibgt werden ansonsten die angegebene Nr Etwa so: Case @rgvon WHEN = 0 Then Rechnungsnummer > 0 When <> 0 Then Rechnungsnummer =@rgvon Ich müsste bei der RgNr nicht 2 Werte übergeben. Ich hoffe das ich mein Problem verständlich dargestellt habe. mfg Peter und schöne grüße aus Wien
×
×
  • Neu erstellen...