![]() |
|
|
zurück zur ÜbersichtDiskussionsgruppe: DatenbankenHallo Ihr codmasters
Von: zurigo_x Datum: 23.01.2007, 17:14
alle Antworten zu dieser FrageAntwort 1 von zurigo_x vom 15.03.2007, 09:55 Hat sich erledigt und so han ich es gelöst: Dim DB As DAO.Database Dim rs As DAO.Recordset Dim qdf As DAO.QueryDef Dim x As Variant 'Alte Rechnungsnummer Dim y As Variant 'Neue Rechnungsnummer Dim z As String 'Bemerkung Dim b As Variant Dim a As Variant 'inhalt von Arbeitsdatum Dim inhalt As String 'Bemerkung für alte Rechnung Dim inhalt2 As String 'Bemerkung für neue Rechnung Dim inhalt3 As String 'Bemerkung ohne neue Rechnung Dim StornoOderNicht As Variant 'Verzweigung mit oder ohne neue Rechnung b = (Environ("USERNAME")) StornoOderNicht = MsgBox("Neu Rechnung erstellen", 36) inputz: z = InputBox("Stornierungs grund") If z > LEER Then GoTo endinputz Else GoTo inputz endinputz: If StornoOderNicht = 7 Then GoTo keineRechnung '************************************************************************************************************ 'Kopie der stornierten Rechnung '************************************************************************************************************ '************************************************************************************************************ 'Rechnungsnummer Lösen '************************************************************************************************************ a = Me!ArbeitMonat 'Ausführungs Datum auslesen If a Like "*2007*" Then GoTo Rechnungsnummer2007 If a Like "*2006*" Then GoTo Rechnungsnummer2006 a = InputBox("Zur welchem Jahr gehört die Rechnung? Bitte vierstellig eigeben") If a Like "*2007*" Then GoTo Rechnungsnummer2007 If a Like "*2006*" Then GoTo Rechnungsnummer2006 MsgBox ("fehler") GoTo endesub Rechnungsnummer2007: RechnungsnummerSuchen2007 'Funktion Aufrufen y = RgtNr GoTo RechnungsnummerSpeichern Rechnungsnummer2006: RechnungsnummerSuchen2006 'Funktion Aufrufen y = RgtNr RechnungsnummerSpeichern: x = Me!RechnNr 'Varialle x mit dem werdt aus RechnNr des aktuellen Datensatzes füllen Storno.SetFocus 'Feld Storno des aktuellen Datensatzes auswählen Storno.Value = True 'Wert des Feldes Storno auf wahr setzten Set DB = CurrentDb Set qdf = DB.QueryDefs("SornoKopieren") 'Angeben welche Abfrage genommen werden soll qdf.Parameters!x = x 'Den Wert aus x im Ausdruck [X]als parameter eintragen qdf.Parameters!y = y qdf.Execute 'Abfrage Ausführen '************************************************************************************************************* 'Neu Rechnungsnummer suchen und auslesen '************************************************************************************************************* Set DB = CurrentDb ' Datenbank definieren '*********************************************************** 'die folgenden zeilen erstellen den SQL Sting strSQL0 = "SELECT [2007].RechnNr, [2007].AlteNummer " & _ "From 2007 " strSQL2 = "WHERE ((([2007].AlteNummer)= " strSQL3 = x strSQL4 = " )) " strSQL = strSQL0 & strSQL1 & strSQL2 & strSQL3 & strSQL4 Debug.Print strSQL 'Ender der String erstellung '*********************************************************** Set rs = DB.OpenRecordset(strSQL) ' Recordset öffnen If Not rs.EOF Then rs.MoveFirst ' Zum ersten Datensatz y = rs!RechnNr ' Wert auslesen rs.Close 'recordset schlissen Set rs = Nothing 'Variabel rs leeren Set DB = Nothing 'Variabel db leeren '************************************************************************************************************* 'Bemerkung setzen '************************************************************************************************************* inhalt = "Stornirt durch " & b & ". Neue Nummer " & y & " Grund: " & z inhalt2 = "Ersetzt Rechnung " & x & " Stornirt durch " & b & " Grund: " & z inhalt3 = "Stornirt durch " & b & ". Keine neue Rechnung notwendig Grund: " & z Debug.Print inhalt3 Set DB = CurrentDb ' Datenbank definieren '*********************************************************** 'die folgenden zeilen erstellen den SQL Sting strSQL0 = "SELECT [Bemerkung].BemerkungRechnNr, [Bemerkung].BemerkungText , [Bemerkung].BemerkungUser " & _ "From Bemerkung " strSQL2 = "WHERE ((([2007].SorbaNr)like * )) " strSQL = strSQL0 'Ender der String erstellung '*********************************************************** Set rs = DB.OpenRecordset(strSQL) ' Recordset öffnen If Not rs.EOF Then rs.MoveFirst ' Zum ersten Datensatz 'Debug.Print rs rs.AddNew rs![BemerkungText] = inhalt rs![BemerkungRechnNr] = x rs![BemerkungUser] = b rs.Update rs.AddNew rs![BemerkungText] = inhalt2 rs![BemerkungRechnNr] = y rs![BemerkungUser] = b rs.Update rs.Close 'recordset schlissen Set rs = Nothing 'Variabel rs leeren Set DB = Nothing 'Variabel db leeren Exit Sub '******************************************************************************************************** 'Kein neue Rechnung erstellen '******************************************************************************************************** keineRechnung: inhalt3 = "Stornirt durch " & b & ". Keine neue Rechnung notwendig Grund: " & z x = Me!RechnNr 'Varialle x mit dem werdt aus RechnNr des aktuellen Datensatzes füllen Storno.SetFocus 'Feld Storno des aktuellen Datensatzes auswählen Storno.Value = True 'Wert des Feldes Storno auf wahr setzten Set DB = CurrentDb ' Datenbank definieren '*********************************************************** 'die folgenden zeilen erstellen den SQL Sting strSQL0 = "SELECT [Bemerkung].BemerkungRechnNr, [Bemerkung].BemerkungText , [Bemerkung].BemerkungUser " & _ "From Bemerkung " strSQL = strSQL0 'Ender der String erstellung '*********************************************************** Debug.Print inhalt3 Set rs = DB.OpenRecordset(strSQL) ' Recordset öffnen 'Debug.Print rs rs.AddNew rs![BemerkungText] = inhalt3 rs![BemerkungRechnNr] = x rs![BemerkungUser] = b rs.Update rs.Close 'recordset schlissen Set rs = Nothing 'Variabel rs leeren Set DB = Nothing 'Variabel db leeren Ausgang: endesub: Antworten der Gruppe: Datenbanken
|
07101 07102 07103 07104 07105 07106 07107 |