Standard |
AA_Variablen |
GENOBASE |
|
Basic |
|
4 |
SUB GENOBASE msgbox "Geno.Base ist eine Datenbank für die Verwaltung von Genossenschaftsmitgliedern" msgbox "Autor: Gisbert Friege" END SUB |
Standard |
Abfragen_CSV |
_ExportPfad |
|
Basic |
|
38 |
SUB _ExportPfad (oEvent AS OBJECT) DIM oDoc AS OBJECT DIM oDB AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDB = ThisComponent.Parent stDBDir = Left(oDB.Location,Len(oDB.Location)-Len(oDB.Title)) oDrawpage = oDoc.Drawpage stZusatz = oEvent.Source.Model.Tag Select Case stZusatz Case "Email" stPrintDir = stDBDir & "MailMerge/" xstPrintDir = Mid(stPrintDir,9) oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName") oFeld1.Label = " Exportpfad: " & xstPrintDir Case "BZSt_Export" stPrintDir = stDBDir & "BZSt_Export/" xstPrintDir = Mid(stPrintDir,9) oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName") oFeld1.Label = " Exportpfad: " & xstPrintDir Case "BZSt_Import" stPrintDir = stDBDir & "BZSt_Import/" xstPrintDir = Mid(stPrintDir,9) oForm2 = oDrawpage.Forms.getByName("Formular_ImportDatei") oFeld2 = oForm2.getByName("DateiPfadSuche") oFeld2.Text = xstPrintDir Case Else stPrintDir = stDBDir xstPrintDir = Mid(stPrintDir,9) oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName") oFeld1.Label = " Datenbankpfad: " & xstPrintDir End Select END SUB |
Standard |
Abfragen_CSV |
Abfrage_in_CSV |
|
Basic |
7b - Mailmerge|Schaltfläche EmailsAnMitgliederNRD (Control) 7b - Mailmerge|Schaltfläche EmailsAnMitglieder (Control) 7b - Mailmerge|Schaltfläche EmailsAnMitgliederStrom (Control) 7b - Mailmerge|Schaltfläche EmailsAnMitgliederCampain (Control) 7b - Mailmerge|Schaltfläche EmailsAnInteressenten (Control) 7b - Mailmerge|Schaltfläche EmailsAnInteressentenStrom (Control) 8g - BZStOnline|Schaltfläche KiStAM-Abfrage (Control) 8g - BZStOnline|Schaltfläche KiStAM-Abfrage (Control) 8g - BZStOnline|Schaltfläche KiSt-ID-Abfrage (Control) 8g - BZStOnline|Schaltfläche KiSt-noID-Abfrage (Control) 8g - BZStOnline|Schaltfläche KiSt-alle-Abfrage (Control) |
138 |
SUB Abfrage_in_CSV (oEvent AS OBJECT) DIM oDatenDatei AS OBJECT DIM oAbfragen AS OBJECT DIM oAbf AS OBJECT DIM oAbfrageergebnis AS OBJECT DIM stQuery AS STRING DIM iNumber As Integer DIM sDatei AS STRING DIM stTag AS STRING DIM sp AS INTEGER DIM splast AS INTEGER
DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld1 AS OBJECT DIM stDBDir AS STRING
oDoc = thisComponent oDB = ThisComponent.Parent stDBDir = Left(oDB.Location,Len(oDB.Location)-Len(oDB.Title)) oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName")
stTag = oEvent.Source.Model.Tag aForms() = Split(stTag, ",") stName = Trim(aForms(0)) stZusatz = Trim(aForms(1))
Select Case stZusatz Case "Email" stPrintDir = stDBDir & "MailMerge/" stExt = ".csv" Case "SEPA" stPrintDir = stDBDir & "SEPAXML/" stExt = ".xml" Case Else stPrintDir = stDBDir & "BZSt_Export/" stExt = ".csv" End Select
xstPrintDir = Mid(stPrintDir,9) oFeld1.Label = " Exportpfad: " & xstPrintDir
sDatei = stPrintDir & stName & ".csv" IF stZusatz = "SEPA" THEN sDatei = stPrintDir & stName & stExt
janein = msgbox("Wirklich in die Datei" & ChrChr$) & ChrstName& stName & stExt & ChrChr$) & Chrausgeben"ausgeben ?",256+32+4,"Überleg nochmal:") IF janein = 7 THEN EXIT SUB If Fileexists(sPfadDatei) Then Kill sDatei iNumber = Freefile Open sDatei For Output As iNumber
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement() oDatenDatei = oDatenquelle.DataSource oAbfragen = oDatenDatei.getQueryDefinitions() IF (stZusatz = "Elster" ) THEN oAbf = oAbfragen.getByName( "Elsterversion") stQuery = oAbf.command oAbfrageergebnis = oSQL_Anweisung.executeQuery(stQuery) oAbfrageergebnis.next sWert = oAbfrageergebnis.getString(1) Print #iNumber, sWert ENDIF oAbf = oAbfragen.getByName( stName ) stQuery = oAbf.command oAbfrageergebnis = oSQL_Anweisung.executeQuery(stQuery)
splast= oAbfrageergebnis.Columns.Count stSpalten()=oAbfrageergebnis.Columns.ElementNames stKopfzeile = "" sp = 0 WHILE sp < (splast - 1) stKopfzeile = stKopfzeile & stSpalten(sp) & ";" sp = sp + 1 WEND stKopfzeile = stKopfzeile & stSpalten(sp) Print #iNumber, stKopfzeile
zaehler = 0 WHILE oAbfrageergebnis.next stZeile = "" sp=1 WHILE sp < splast + 1 sWert = oAbfrageergebnis.getString(sp) IF (Len(sWert)=10) AND ((Mid(sWert,5,1)) = "-") AND ((Mid(sWert,8,1)) = "-") THEN stZeile = stZeile & Datumgedreht(sWert) & ";" ELSE stZeile = stZeile & oAbfrageergebnis.getString(sp) & ";" END IF sp = sp + 1 WEND stZeile = Left(stZeile,Len(stZeile)-1) Print #iNumber, stZeile zaehler=zaehler+1 WEND Close #iNumber msgbox ( zaehler & " Datensätze geschrieben.", 64 , "fertig:") END SUB |
Standard |
Abfragen_CSV |
Antwort_CSV_holen |
|
Basic |
8g - BZStOnline|Schaltfläche KiSt-holen (Control) 8g - BZStOnline|Schaltfläche ID-holen (Control) |
174 |
SUB Antwort_CSV_holen (oEvent AS OBJECT) DIM oDatenDatei AS OBJECT DIM oAbfragen AS OBJECT DIM oAbfrageergebnis AS OBJECT DIM stQuery AS STRING DIM iNumber As Integer DIM sDatei AS STRING DIM stTag AS STRING DIM sp AS INTEGER DIM splast AS INTEGER DIM z AS INTEGER
stTag = oEvent.Source.Model.Tag aForms() = Split(stTag, ",") stTyp = Trim(aForms(0)) stZiel = Trim(aForms(1)) laengeTyp = Len(stTyp) oFeld = oEvent.Source.Model oForm = oFeld.Parent oFeld2 = oForm.getByName( "Beschriftungsfeld_Datei") sDatei = oFeld2.Label
laengeDatei = Len(sDatei) zaehler=1 While ((zaehler <= laengeDatei-laengeTyp) and (mid (sDatei,zaehler,laengeTyp ) <> stTyp)) zaehler = zaehler+1 Wend if zaehler > laengeDatei - laengeTyp then msgbox ("Bitte erst eine Datei mit " & stTyp & " auswählen!",48,"Falscher Dateiyp") exit sub end if
xsDatei = sDatei xsDatei_n = InStr(sDatei,"/") while xsDatei_n <>0 xsDatei = Right(xsDatei,Len(xsDatei)-xsDatei_n) xsDatei_n = InStr(xsDatei,"/") wend
janein = msgbox("Sollen wirklich Daten aus der Datei" & ChrChr$) & ">>" & ChrxsDatei xsDatei & ChrChr$) & "<<" & Chrin13) & "in die DatenbankTabelle" & ChrChr$) & ">>" & ChrstZiel& stZiel & ChrChr$) & "<<" & Chreingeleseningelesen werden Schau6+32+4,"Schau genau!") IF janein = 7 THEN EXIT SUB If Fileexists(sDatei) Then Msgbox("Datei gefunden.",64,"") ELSE Msgbox("Datei nicht gefunden.",48,"Problem") EXIT SUB END IF iNumber = Freefile Open sDatei For Input As iNumber Line Input #iNumber, sLine Line Input #iNumber, sLine
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement()
zaehler = 0 IF stTyp = "IdNr" THEN While Not eof(iNumber) Line Input #iNumber, sLine If sLine <>"" Then aFelder() = Split(sLine, ";") stMNr = Trim(aFelder(2)) stMNr = Mid(stMNr,2,Len(stMNr)-2) stRetC = Trim(aFelder(17)) stRetC = Mid(stRetC,2,Len(stRetC)-2) stIDNr = Trim(aFelder(18)) stIDNr = Mid(stIDNr,2,Len(stIDNr)-2) IF (stRetC <> "1") THEN
stSql_MNrTest = " SELECT """ + stZiel + """.""Mitgliedsnummer"" ""MNrTest"" FROM """ + stZiel + """ WHERE """ + stZiel + """.""Mitgliedsnummer"" = '" + stMNr + "' " oResult_MNrTest = oSQL_Anweisung.executeQuery(stSql_MNrTest) IF NOT oResult_MNrTest.next THEN stSql_neu = " INSERT INTO """ + stZiel + """ (""Mitgliedsnummer"") VALUES ('" + stMNr + "' ) " oResult_neu = oSQL_Anweisung.executeQuery(stSql_neu) msgbox ("Mitgliedsnummer " & stMNr & " neu eingefügt",64,stZiel) END IF stSql_Ziel = "UPDATE """ + stZiel + """ SET ""Identifikationsnummer"" = '" + stIDNr + "' WHERE ""Mitgliedsnummer"" ='" + stMNr + "' " oResult_Ziel = oSQL_Anweisung.executeQuery(stSql_Ziel) zaehler = zaehler + 1 END IF End If Wend END IF
IF stTyp = "KiStAM" THEN While Not eof(iNumber) Line Input #iNumber, sLine If sLine <>"" Then aFelder() = Split(sLine, ";") stMNr = Trim(aFelder(2)) stMNr = Mid(stMNr,2,Len(stMNr)-2) stRetC = Trim(aFelder(7)) stRetC = Mid(stRetC,2,Len(stRetC)-2) stKiStSatz = Trim(aFelder(8)) stKiStSatz = Mid(stKiStSAtz,2,Len(stKiStSatz)-2) stOeId = Trim(aFelder(9)) stOeId = Mid(stOeId,2,Len(stOeId)-2) IF ((stRetC <> "1") AND (stOeId <> "")) THEN stSql_Ziel = "UPDATE """ + stZiel + """ SET ""KiStproz"" = " + stKiStSatz + " WHERE ""Mitgliedsnummer"" ='" + stMNr + "' " oResult_Ziel = oSQL_Anweisung.executeQuery(stSql_Ziel) stSql_Ziel = "UPDATE """ + stZiel + """ SET ""KiStOrgan"" = '" + stOeId + "' WHERE ""Mitgliedsnummer"" ='" + stMNr + "' " oResult_Ziel = oSQL_Anweisung.executeQuery(stSql_Ziel) zaehler = zaehler +1 END IF End If Wend END IF
IF stTyp = "KiStAKOM" THEN While Not eof(iNumber) Line Input #iNumber, sLine If sLine <>"" Then aFelder() = Split(sLine, ";") stMNr = Trim(aFelder(2)) stMNr = Mid(stMNr,2,Len(stMNr)-2) stRetC = Trim(aFelder(7)) stRetC = Mid(stRetC,2,Len(stRetC)-2) stKiStSatz = Trim(aFelder(8)) stKiStSatz = Mid(stKiStSAtz,2,Len(stKiStSatz)-2) stOeId = Trim(aFelder(9)) stOeId = Mid(stOeId,2,Len(stOeId)-2) IF ((stRetC <> "1") AND (stOeId <> "")) THEN stSql_Ziel = "UPDATE """ + stZiel + """ SET ""KiStproz"" = " + stKiStSatz + " WHERE ""Mitgliedsnummer"" ='" + stMNr + "' " oResult_Ziel = oSQL_Anweisung.executeQuery(stSql_Ziel) stSql_Ziel = "UPDATE """ + stZiel + """ SET ""KiStOrgan"" = '" + stOeId + "' WHERE ""Mitgliedsnummer"" ='" + stMNr + "' " oResult_Ziel = oSQL_Anweisung.executeQuery(stSql_Ziel) zaehler = zaehler +1 END IF End If Wend END IF
Close #iNumber IF zaehler = 1 THEN msgbox (zaehler & " Datensatz geschrieben.",64,stZiel) ELSE msgbox (zaehler & " Datensätze geschrieben.",64,stZiel) END IF END SUB |
Standard |
Abfragen_CSV |
Dateiauswahl |
|
Basic |
|
23 |
FUNCTION Dateiauswahl(stFormular AS String) AS String DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld1 AS OBJECT DIM oFeld2 AS OBJECT DIM stPfad AS STRING oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName(stFormular) oFeld2 = oForm.getByName("Tabellen-Steuerelement-Pfade") oSpalte1 = oFeld2.getByNAme ("Textfeld_Pfade") oSpalte2 = oFeld2.getByNAme ("Textfeld_Dateiname") stDateiauswahl = oSpalte1.getCurrentValue() stDateiauswahl = stDateiauswahl & "\" & oSpalte2.getCurrentValue() magbox stDateiauswahl Dateiauswahl = stDateiauswahl END FUNCTION |
Standard |
Abfragen_CSV |
Datumgedreht |
|
Basic |
Abfrage_in_CSV (Procedure) |
4 |
FUNCTION Datumgedreht ( stDat AS STRING ) AS STRING stmutad() = split (stDat,"-") Datumgedreht = stmutad(2) & "." & stmutad(1) & "." & stmutad(0) END FUNCTION |
Standard |
Abfragen_CSV |
Eintragen |
✔ |
Basic |
Über...|Schaltfläche TEST (Control) |
|
|
Standard |
Abfragen_CSV |
Pfad_Einlesen |
|
Basic |
8g - BZStOnline|DateiPfadSuche (Control) |
28 |
SUB Pfad_Einlesen( oEvent AS OBJECT) DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oFeld2 AS OBJECT DIM oFeld3 AS OBJECT DIM stUrl AS STRING DIM xsDatei AS STRING oFeld = oEvent.Source.Model oForm = oFeld.Parent oFeld2 = oForm.getByName( "Beschriftungsfeld_Datei") IF oFeld.Text <> "" THEN stUrl = ConvertToUrl(oFeld.Text) oFeld2.Label= stUrl END IF
xsDatei = stUrl xsDatei_n = InStr(stUrl,"/") while xsDatei_n <>0 xsDatei = Right(xsDatei,Len(xsDatei)-xsDatei_n) xsDatei_n = InStr(xsDatei,"/") wend oFeld3 = oForm.getByName( "Beschriftungsfeld_nurDatei") oFeld3.Label = xsDatei END SUB |
Standard |
Aktualisierung |
ExportPfad |
|
Basic |
7a - MitgliederBriefe|Beschriftungsfeld_PfadDateiName (Control) 7b - Mailmerge|Beschriftungsfeld_PfadDateiName (Control) 8g - BZStOnline|DateiPfadSuche (Control) 8g - BZStOnline|Beschriftungsfeld_PfadDateiName (Control) 9d - InteressentenBriefe|Beschriftungsfeld_PfadDateiName (Control) |
50 |
SUB ExportPfad (oEvent AS OBJECT) DIM oDoc AS OBJECT DIM oDB AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDB = ThisComponent.Parent stDBDir = Left(oDB.Location,Len(oDB.Location)-Len(oDB.Title)) oDrawpage = oDoc.Drawpage stZusatz = oEvent.Source.Model.Tag Select Case stZusatz Case "Email" stPrintDir = stDBDir & "MailMerge/" xstPrintDir = Mid(stPrintDir,9) oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName") oFeld1.Label = " Exportpfad: " & xstPrintDir Case "BZSt_Export" stPrintDir = stDBDir & "BZSt_Export/" xstPrintDir = Mid(stPrintDir,9) oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName") oFeld1.Label = " Exportpfad: " & xstPrintDir Case "BZSt_Import" stPrintDir = stDBDir & "BZSt_Import/" xstPrintDir = Mid(stPrintDir,9) oForm2 = oDrawpage.Forms.getByName("Formular_ImportDatei") oFeld2 = oForm2.getByName("DateiPfadSuche") oFeld2.Text = xstPrintDir Case "SEPA" stPrintDir = stDBDir & "SEPAXML/" xstPrintDir = Mid(stPrintDir,9) oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName") oFeld1.Label = " Exportpfad: " & xstPrintDir Case Else stPrintDir = stDBDir xstPrintDir = Mid(stPrintDir,9) oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld1 = oForm.getByName("Beschriftungsfeld_PfadDateiName") oFeld1.Label = " Datenbankpfad: " & xstPrintDir End Select END SUB |
Standard |
Aktualisierung |
Filter_I_Aktualisieren |
|
Basic |
9a - Interessenten|SchaltflächeUpdate (Control) 9c - InteressentenStromGas|SchaltflächeUpdate (Control) |
27 |
SUB Filter_I_Aktualisieren Dim oDoc As Object Dim oDrawpage As Object Dim oneuInt As Object oDoc = thisComponent oDrawpage = oDoc.drawpage oneuInt=oDrawpage.forms.getByName( "Formular_Interessenten" ) oCol=oneuInt.Columns oInteressent=oCol.getByName( "ID" ) oINummer=oInteressent.Value
DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oForm = oDrawpage.forms.getByName( "Formular_Filter") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement()
stSql = "UPDATE ""Filter_I"" SET ""Integer"" ='" + oINummer + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql)
oForm.reload() END SUB |
Standard |
Aktualisierung |
Filter_M_Aktualisieren |
|
Basic |
1 - Mitglieder|SchaltflächeUpdate (Control) 6 - MitgliederStromGas|SchaltflächeUpdate_Filter (Control) |
27 |
SUB Filter_M_Aktualisieren Dim oDoc As Object Dim oDrawpage As Object Dim oneuMit As Object oDoc = thisComponent oDrawpage = oDoc.drawpage oneuMit=oDrawpage.forms.getByName( "Formular_Mitglieder" ) oCol=oneuMit.Columns oMitgl=oCol.getByName( "Mitgliedsnummer" ) oMNummer=oMitgl.Value
DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oForm = oDrawpage.forms.getByName( "Formular_Filter") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement()
stSql = "UPDATE ""Filter_M"" SET ""Integer"" ='" + oMNummer + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) wait 100 oForm.reload() END SUB |
Standard |
Aktualisierung |
Form_aktualisieren |
|
Basic |
|
21 |
SUB Form_aktualisieren(oEvent AS OBJECT) DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage FeldName = oEvent.Source.Model.Name FormName = oEvent.Source.Model.getParent.Name oForm = oDrawpage.forms.getByName(FormName) oFeld = oForm.getByName(FeldName) END SUB |
Standard |
Aktualisierung |
Form_Filter_aktualisieren |
|
Basic |
1 - Mitglieder|SchaltflächeUpdate (Control) 7a - MitgliederBriefe|Schaltfläche_Einzeldruck (Control) 8d - DividendenZentrale|Schaltfläche_Einzeldruck (Control) 8e - SteuerDaten|Formular_StDaten|Schaltfläche_Einzeldruck (Control) 8i - Ueberweisungen|Schaltfläche_Einzeldruck (Control) 8j - IBAN|Formular_BankDaten1|Schaltfläche_Einzeldruck (Control) 9d - InteressentenBriefe|Schaltfläche_Einzeldruck (Control) |
13 |
SUB Form_Filter_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oFeld = oForm.getByName("Listenfeld_Filter") oFeld.commit() oFeld.refresh() oForm.reload() END SUB |
Standard |
Aktualisierung |
Form_Interessenten_aktualisieren |
|
Basic |
9c - InteressentenStromGas|SchaltflächeUpdate_I (Control) |
10 |
SUB Form_Interessenten_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Interessenten") oForm.reload() END SUB |
Standard |
Aktualisierung |
Form_Mitglieder_aktualisieren |
|
Basic |
1 - Mitglieder|Schaltfläche START (Control) 6 - MitgliederStromGas|SchaltflächeUpdate_M (Control) |
10 |
SUB Form_Mitglieder_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Mitglieder") oForm.reload() END SUB |
Standard |
Aktualisierung |
neueBank_aktualisieren |
|
Basic |
3 - MitgliederBankdaten|Tabellen-Steuerelement Bankeneu (Control) |
22 |
SUB neueBank_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Bankdaten") oFeld1 = oSubSubForm.getByName("Listenfeld_Banken") oFeld1.commit() oFeld1.refresh() oFeld2 = oSubSubForm.getByName("Listenfeld_BIC") oFeld2.commit() oFeld2.refresh() oFeld3 = oSubSubForm.getByName("Listenfeld_BLZ") oFeld3.commit() oFeld3.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
neueDomain_aktualisieren |
|
Basic |
|
16 |
SUB neueDomain_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Kontakte") oFeld = oSubSubForm.getByName("Listenfeld_Domain1") oFeld.commit() oFeld.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
neuenStromGasStatus_aktualisieren |
|
Basic |
|
17 |
SUB neuenStromGasStatus_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_StromGas") oSubSubSubForm = oSubForm.getByName("Formular_Status") oFeld = oSubSubSubForm.getByName("Listenfeld_StromStatus") oFeld.commit() oFeld.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
neuePLZ_aktualisieren |
|
Basic |
|
16 |
SUB neuePLZ_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Adressen") oFeld = oSubSubForm.getByName("Listenfeld_PLZ") oFeld.commit() oFeld.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
neuerOrt_aktualisieren |
|
Basic |
|
16 |
SUB neuerOrt_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Adressen") oFeld = oSubSubForm.getByName("Listenfeld_Orte") oFeld.commit() oFeld.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
neueStr_aktualisieren |
|
Basic |
|
16 |
SUB neueStr_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Adressen") oFeld = oSubSubForm.getByName("Listenfeld_Strassen") oFeld.commit() oFeld.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
neueVorwahlen_aktualisieren |
|
Basic |
|
19 |
SUB neueVorwahlen_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Kontakte") oFeld1 = oSubSubForm.getByName("Listenfeld_Vorwahlen1") oFeld1.commit() oFeld1.refresh() oFeld2 = oSubSubForm.getByName("Listenfeld_Vorwahlen2") oFeld2.commit() oFeld2.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
Ordneranzeigen |
|
Basic |
7a - MitgliederBriefe|Schaltfläche Ordner (Control) 7b - Mailmerge|Schaltfläche Ordner (Control) 8g - BZStOnline|Schaltfläche Ordner (Control) 8i - Ueberweisungen|Schaltfläche Ordner (Control) 9d - InteressentenBriefe|Schaltfläche Ordner (Control) |
10 |
SUB Ordneranzeigen (oEvent AS OBJECT) DIM oDoc AS OBJECT DIM oDB AS OBJECT DIM oFeld AS OBJECT stZusatz = oEvent.Source.Model.Tag oDoc = thisComponent oDB = ThisComponent.Parent stDBDir = Left(oDB.Location,Len(oDB.Location)-Len(oDB.Title)) shell("explorer.exe",1,stDBDir & stZusatz) END SUB |
Standard |
Aktualisierung |
Raten_Projekt_Eintragen |
|
Basic |
4 - MitgliedsAnteile|Projektdatum_anlegen (Control) 4 - MitgliedsAnteile|Ratendatum_anlegen (Control) |
64 |
SUB Raten_Projekt_Eintragen (oEvent AS OBJECT) DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oSubSubForm AS OBJECT DIM oFeld AS OBJECT DIM oZ AS OBJECT DIM SHZeile AS LONG stZusatz = oEvent.Source.Model.Tag oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Konto") oFeld = oSubSubForm.getByName("Tabellen_Steuerelement") oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement() wait 100 oZ=oFeld.getRowSet() wait 100 SHZeile = oZ.Row oSpalteM=oFeld.getByName("NumF_Mitgl") oSpalteD1 = oFeld.getByName("DateField1") oSpalteD1.HelpText = "Eintrag immer notwendig!" oSpalteID=oFeld.getByName("NumF_VID") stMNr = oSpalteM.CurrentValue TagEintrag = oSpalteD1.CurrentValue f_dat = TagEintrag.Year & "-" & TagEintrag.Month & "-" & TagEintrag.Day VID = oSpalteID.CurrentValue if VID = 12 THEN sttitel = "Neuanlage eines Ratenkontos: " & TagEintrag.Day & "." & TagEintrag.Month & "." & TagEintrag.Year janein = msgbox ("Soll für Mitgliedsnummer " & stMNr & " ein Ratenkontoeintrag ""Sollstellung"" erzeugt werden?",256+32+4,sttitel) if janein = 6 then stSql = "INSERT INTO ""Raten"" (""Mitgliedsnummer"",""VorgangID"",""TagZahlung"")" stSql = stSql & " VALUES('" + stMNr + "','2','" + f_dat + "')" oResult = oSQL_Anweisung.executeQuery(stSql) oForm.reload() end if end if if VID = 50 THEN sttitel = "Neuanlage eines Projektkontos: " & TagEintrag.Day & "." & TagEintrag.Month & "." & TagEintrag.Year janein = msgbox ("Soll für Mitgliedsnummer " & stMNr & " ein Projektkontoeintrag ""Vertragsdaten"" erzeugt werden?",256+32+4,sttitel) if janein = 6 then stSql = "INSERT INTO ""ProjektDaten"" (""Mitgliedsnummer"",""VorgangID"",""TagEintrag"")" stSql = stSql & " VALUES('" + stMNr + "','1','" + f_dat + "')" oResult = oSQL_Anweisung.executeQuery(stSql) oForm.reload() end if end if END SUB |
Standard |
Aktualisierung |
SortierungUmschalten |
|
Basic |
1 - Mitglieder|Schaltfläche_Sortierung (Control) 9a - Interessenten|Schaltfläche_Sortierung (Control) |
31 |
SUB SortierungUmschalten(oEvent AS OBJECT) DIM stTag AS STRING stTag() = oEvent.Source.Model.Tag Dim oDoc As Object Dim oDrawpage As Object Dim oneuMit As Object oDoc = thisComponent oDrawpage = oDoc.drawpage
IF stTag(0) = "M" THEN oneuMit=oDrawpage.forms.getByName( "Formular_Mitglieder" ) ELSE oneuMit=oDrawpage.forms.getByName( "Formular_Interessenten" ) ENDIF
IF stTag(0) = "M" THEN IF oneuMit.Order = "Mitgliedsnummer ASC" THEN oneuMit.Order = "Organisation ASC, Nachname ASC" ELSE oneuMit.Order = "Mitgliedsnummer ASC" ENDIF ELSE IF oneuMit.Order = "ID ASC" THEN oneuMit.Order = "Nachname ASC" ELSE oneuMit.Order = "ID ASC" ENDIF ENDIF oneuMit.reload() END SUB |
Standard |
Aktualisierung |
SortierungUmschalten_ |
|
Basic |
|
15 |
SUB SortierungUmschalten_ Dim oDoc As Object Dim oDrawpage As Object Dim oneuMit As Object oDoc = thisComponent oDrawpage = oDoc.drawpage oneuMit=oDrawpage.forms.getByName( "Formular_Mitglieder" ) IF oneuMit.Order = "Mitgliedsnummer ASC" THEN oneuMit.Order = "Nachname ASC" ELSE oneuMit.Order = "Mitgliedsnummer ASC" ENDIF oneuMit.reload() END SUB |
Standard |
Aktualisierung |
Suchfilter_aktualisieren |
|
Basic |
1 - Mitglieder|Tabellen-Steuerelement 1 (Control) 1 - Mitglieder|Listenfeld_Filter (Control) 2 - MitgliederAdressen|Listenfeld_Filter (Control) 3 - MitgliederBankdaten|Listenfeld_Filter (Control) 4 - MitgliedsAnteile|Listenfeld_Filter (Control) 5a - RatenKonten|Listenfeld_Filter (Control) 5b - ProjektKonten|Listenfeld_Filter (Control) 5c - DividendenKonten|Listenfeld_Filter (Control) 6 - MitgliederStromGas|Listenfeld_Filter (Control) 7a - MitgliederBriefe|Listenfeld_Filter (Control) 8d - DividendenZentrale|Listenfeld_Filter (Control) 8e - SteuerDaten|Listenfeld_Filter (Control) 8i - Ueberweisungen|Listenfeld_Filter (Control) 8j - IBAN|Listenfeld_Filter (Control) 9a - Interessenten|Listenfeld_Filter (Control) 9a - Interessenten|Tabellen-Steuerelement 1 (Control) 9b - InteressentenAdressen|Listenfeld_Filter (Control) 9c - InteressentenStromGas|Listenfeld_Filter (Control) 9d - InteressentenBriefe|Listenfeld_Filter (Control) |
15 |
SUB Suchfilter_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oFeld = oForm.getByName("Listenfeld_Filter") oFeld.commit() oFeld.refresh() oSubForm.reload() END SUB |
Standard |
Aktualisierung |
vonbis_aktualisieren |
|
Basic |
|
68 |
SUB vonbis_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT DIM minwert AS INTEGER DIM letzter AS INTEGER DIM oColumns AS OBJECT DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Serie")
oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "SELECT MAX(""Mitgliedsnummer"") AS ""MAXIMIT"" FROM ""Mitglieder""" oResult = oSQL_Statement.executeQuery(stSql) oColumns = oResult.columns() IF oColumns.hasByName("MAXIMIT") THEN inIndex = oColumns.findColumn("MAXIMIT") oresult.next letzter=oResult.getInt(1)
oFeld = oForm.getByName("Num_von") minwert=oFeld.value IF minwert > letzter THEN msgbox(letzter & " ist die höchste Mitgliedsnummer!",32,"Nööö!") minwert=1 oFeld.value=minwert ENDIF oFeld.commit() oFeld = oForm.getByName("Num_bis") maxwert=oFeld.value IF maxwert > letzter THEN msgbox(letzter & " ist die höchste Mitgliedsnummer!",32,"Nööö!") maxwert=letzter ENDIF IF maxwert < minwert THEN msgbox("bis kann nicht kleiner sein als von!",32,"Nööö!") maxwert=minwert ENDIF oFeld.value=maxwert oFeld.commit() oFeld = oForm.getByName("Num_aktuell") oFeld.Value=minwert oFeld.commit() oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement()
stSql = "UPDATE ""von_bis"" SET ""von"" ='" + minwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""bis"" ='" + maxwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + minwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) END SUB |
Standard |
Aktualisierung |
VorgangID_lesen |
|
Basic |
4 - MitgliedsAnteile|Formular_Personen|Formular_Konto|Tabellen_Steuerelement (Control) 4 - MitgliedsAnteile|Listenfeld_Filter (Control) 5c - DividendenKonten|Formular_Personen|Formular_Konto|Tabellen_Steuerelement (Control) 5c - DividendenKonten|Listenfeld_Filter (Control) |
175 |
SUB VorgangID_lesen(oEvent AS OBJECT) DIM stTag AS STRING stTag = oEvent.Source.Model.Tag DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oForm2 AS OBJECT DIM oSubForm AS OBJECT DIM oSubSubForm AS OBJECT DIM oFeld AS OBJECT DIM oButton12 AS OBJECT DIM oButton50 AS OBJECT DIM oSpalte AS OBJECT
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement()
oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Konto") oFeld = oSubSubForm.getByName("Tabellen_Steuerelement") oSpalte=oFeld.getByName("NumF_VID") oForm2 = oDrawpage.forms.getByName("Formular_Ueber") IF stTag = "Anteile" THEN
oSpalteD1=oFeld.getByName("DateField1") oSpalteD1.Enabled = TRUE oSpalteD2=oFeld.getByName("DateField2") oSpalteD2.Enabled = TRUE oSpalteApm=oFeld.getByName("NumF_Aplusminus") oSpalteApm.Enabled = TRUE oSpalteASaldo=oFeld.getByName("NumF_AntSaldo") oSpalteASaldo.Enabled = TRUE
oButton12 = oForm2.getByName("zumRatenkonto") oButton120 = oForm2.getByName("Ratendatum_anlegen") oButton20 = oForm2.getByName("zumDividendenkonto") oButton50 = oForm2.getByName("zumProjektekonto") oButton500 = oForm2.getByName("Projektdatum_anlegen") oButton12.EnableVisible = FALSE oButton120.EnableVisible = FALSE oButton20.EnableVisible = FALSE oButton50.EnableVisible = FALSE oButton500.EnableVisible = FALSE SELECT CASE oSpalte.CurrentValue CASE 12 oButton12.EnableVisible = TRUE oButton120.EnableVisible = TRUE oSpalteApm.Enabled = FALSE oSpalteASaldo.Enabled = FALSE CASE 20 oSpalteD1.Enabled = FALSE oSpalteD2.Enabled = FALSE oSpalteApm.Enabled = FALSE oSpalteASaldo.Enabled = FALSE oButton20.EnableVisible = TRUE CASE 50 oSpalteApm.Enabled = FALSE oSpalteASaldo.Enabled = FALSE oButton50.EnableVisible = TRUE oButton500.EnableVisible = TRUE CASE ELSE END SELECT END IF
IF stTag = "Dividenden" THEN oSpalte=oFeld.getByName("NumF_VID") oSpalteD1=oFeld.getByName("DateField1") oSpalteD1.Enabled = FALSE oSpalteD2=oFeld.getByName("DateField2") oSpalteD2.Enabled = FALSE oSpalteKap=oFeld.getByName("NumF_KapErtrag") oSpalteKap.Enabled = FALSE oSpalteKESt=oFeld.getByName("NumF_KapESt") oSpalteKESt.Enabled = FALSE oSpalteSoli=oFeld.getByName("NumF_Soli") oSpalteSoli.Enabled = FALSE oSpalteKiSt=oFeld.getByName("NumF_KiSt") oSpalteKiSt.Enabled = FALSE oSpalteAusz=oFeld.getByName("NumF_Ausz") oSpalteAusz.Enabled = FALSE oSpalteFSA=oFeld.getByName("NumF_Pausch") oSpalteFSA.Enabled = FALSE
oButton2 = oForm2.getByName("zumProjektekonto") oButton2.EnableVisible = FALSE oButton3 = oForm2.getByName("Steuerdaten_uebernehmen") oButton3.EnableVisible = FALSE
IF oSpalte.CurrentValue=2 THEN oButton2.EnableVisible = TRUE END IF IF oSpalte.CurrentValue=3 THEN oSpalteD1=oFeld.getByName("DateField1") oSpalteD1.Enabled = TRUE oSpalteD2=oFeld.getByName("DateField2") oSpalteD2.Enabled = TRUE oSpalteFSA=oFeld.getByName("NumF_Pausch") oSpalteFSA.Enabled = TRUE
oButton3.EnableVisible = TRUE END IF IF oSpalte.CurrentValue=4 THEN oSpalteD1=oFeld.getByName("DateField1") oSpalteD1.Enabled = TRUE oSpalteD2=oFeld.getByName("DateField2") oSpalteD2.Enabled = TRUE
oButton3.EnableVisible = TRUE END IF
END IF END SUB |
Standard |
Berichte |
Calc2CSV_exists |
|
Basic |
|
7 |
Function Calc2CSV_exists as Boolean Calc2CSV_exists = FALSE If Getguitype = 1 Then sFichierModule = GetRepertoirePath("user")&"\basic\Standard\Calc2CSV.xba" Else sFichierModule = GetRepertoirePath("user")&"/basic/Standard/Calc2CSV.xba" If Fileexists(sFichierModule) Then Calc2CSV_exists = TRUE if Calc2CSV_exists Then msgbox ("Jaaaaaaaa!") Else msgbox ("nö") End Function |
Standard |
Berichte |
Dateiauswahl |
|
Basic |
|
17 |
SUB Dateiauswahl DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld1 AS OBJECT DIM oFeld2 AS OBJECT DIM oPfad AS STRING oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular") oFeld1 = oForm.getByName("Dateiauswahl") oPfad = oFeld1.Text Schreibe_MM_configTXT( oPfad) oFeld2 = oForm.getByName("MailmergePfad") oFeld2.Label = oPfad END SUB |
Standard |
Berichte |
Filtern_und_Drucken |
|
Basic |
2 - MitgliederAdressen|Formular_Personen|Schaltfläche_Brief_M (Control) 4 - MitgliedsAnteile|Schaltfläche_BriefAnteileKonto (Control) 4 - MitgliedsAnteile|Schaltfläche_Brief_Aufstockung (Control) 4 - MitgliedsAnteile|Schaltfläche_BriefRaten (Control) 4 - MitgliedsAnteile|Schaltfläche_BriefZahlung (Control) 4 - MitgliedsAnteile|Schaltfläche_BriefRechnung (Control) 6 - MitgliederStromGas|Formular_Personen|Formular_Kontakte|Schaltfläche_Brief_Strom (Control) 6 - MitgliederStromGas|Formular_Personen|Formular_Kontakte|Schaltfläche_Brief_Anschrift (Control) 9b - InteressentenAdressen|Schaltfläche_Brief_I (Control) 9c - InteressentenStromGas|Formular_Personen|Formular_Kontakte|Schaltfläche_Brief_Strom (Control) 9c - InteressentenStromGas|Formular_Personen|Formular_Kontakte|Schaltfläche_Brief_Anschrift (Control) |
37 |
SUB Filtern_und_Drucken(oEvent AS OBJECT) DIM stTag AS STRING stTag = oEvent.Source.Model.Tag aInfos() = Split(stTag, ",") DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oDatenquelle AS OBJECT DIM oVerbindung AS OBJECT DIM oSQL_Anweisung AS OBJECT DIM stSQL AS STRING oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Filter") oFeld = oForm.getByName("Listenfeld_Filter") oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF
oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement() IF aInfos(0) = "M" THEN stSql = "UPDATE ""Filter_M"" SET ""Integer"" = '"+oFeld.GetCurrentValue()+"' WHERE ""ID"" = 0" oSQL_Anweisung.executeUpdate(stSql) END IF IF aInfos(0) ="I" THEN stSql = "UPDATE ""Filter_I"" SET ""Integer"" = '"+oFeld.GetCurrentValue()+"' WHERE ""ID"" = 0" oSQL_Anweisung.executeUpdate(stSql) END IF
ThisDatabaseDocument.ReportDocuments.getByName(Trim(aInfos(1))).open
END SUB |
Standard |
Berichte |
Filtern_und_Mail |
|
Basic |
2 - MitgliederAdressen|Email_M (Control) 6 - MitgliederStromGas|Formular_Personen|Formular_Kontakte|Email_Strom (Control) 9b - InteressentenAdressen|Email_I (Control) 9c - InteressentenStromGas|Formular_Personen|Formular_Kontakte|Email_Strom (Control) |
94 |
SUB Filtern_und_Mail(oEvent AS OBJECT) DIM stTag AS STRING stTag = oEvent.Source.Model.Tag aInfos() = Split(stTag, ",") DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT
DIM oDatenquelle AS OBJECT DIM oVerbindung AS OBJECT DIM oSQL_Anweisung AS OBJECT DIM stSQL AS STRING DIM oResult AS OBJECT DIM oFeld1a AS OBJECT DIM oFeld1b AS OBJECT DIM oFeld1 AS OBJECT DIM oFeld2 AS OBJECT DIM oFeld3 AS OBJECT DIM oFeld4 AS OBJECT DIM oShell AS OBJECT DIM stFeld1 AS STRING DIM stFeld2 AS STRING DIM stFeld3 AS STRING DIM stFeld4 AS STRING
oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Filter") oFeld = oForm.getByName("Listenfeld_Filter")
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement()
IF aInfos(0) = "M" THEN stSql = "UPDATE ""Filter_M"" SET ""Integer"" = '"+oFeld.GetCurrentValue()+"' WHERE ""ID"" = 0" oSQL_Anweisung.executeUpdate(stSql) END IF IF aInfos(0) ="I" THEN stSql = "UPDATE ""Filter_I"" SET ""Integer"" = '"+oFeld.GetCurrentValue()+"' WHERE ""ID"" = 0" oSQL_Anweisung.executeUpdate(stSql) END IF
oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Kontakte") oFeld1a = oSubSubForm.getByName("Textfeld_Email1") oFeld1b = oSubSubForm.getByName("Listenfeld_Domain1") oNummer = oFeld1b.SelectedItems(000) soFeld1b = oFeld1b.getItemText(oNummer) stFeld1 = oFeld1a.Text + "@" + soFeld1b IF stFeld1 = "" THEN msgbox ("Keine Mailadresse vorhanden." & CHR( 13) & "Das Mailprogramm wird nicht aufgerufen" ,48, "Mail senden") END IF
stAuswahl = aInfos(2) stSql = "SELECT ""Text"",""Betreff"" FROM ""Texte"" WHERE ""ID"" = '" & stAuswahl & "'"
oResult = oSQL_Anweisung.executeQuery(stSql) oResult.next stAusgabe1 = oResult.getString(1) stInhalt = Replace(stAusgabe1, Chr(10), "%0A")
stAusgabe2 = oResult.getString(2)
IF aInfos(1) ="Strom" THEN stFeld2 = stAusgabe2 stFeld3 = stInhalt END IF oShell = createUnoService( "com.sun.star.system.SystemShellExecute") oShell.execute( "mailto:" + stFeld1 + "?subject=" + stFeld2 + "&body=" + stFeld3,, 0) END SUB |
Standard |
Berichte |
Filtern_und_Mail_BACKUP |
|
Basic |
|
97 |
SUB Filtern_und_Mail_BACKUP(oEvent AS OBJECT) DIM stTag AS STRING stTag = oEvent.Source.Model.Tag aInfos() = Split(stTag, ",") DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oDatenquelle AS OBJECT DIM oVerbindung AS OBJECT DIM oSQL_Anweisung AS OBJECT DIM stSQL AS STRING DIM oFeld1a AS OBJECT DIM oFeld1b AS OBJECT DIM oFeld1 AS OBJECT DIM oFeld2 AS OBJECT DIM oFeld3 AS OBJECT DIM oFeld4 AS OBJECT DIM oShell AS OBJECT DIM stFeld1 AS STRING DIM stFeld2 AS STRING DIM stFeld3 AS STRING DIM stFeld4 AS STRING
oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Filter") oFeld = oForm.getByName("Listenfeld_Filter") oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement()
IF aInfos(0) = "M" THEN stSql = "UPDATE ""Filter_M"" SET ""Integer"" = '"+oFeld.GetCurrentValue()+"' WHERE ""ID"" = 0" oSQL_Anweisung.executeUpdate(stSql) END IF IF aInfos(0) ="I" THEN stSql = "UPDATE ""Filter_I"" SET ""Integer"" = '"+oFeld.GetCurrentValue()+"' WHERE ""ID"" = 0" oSQL_Anweisung.executeUpdate(stSql) END IF
oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Kontakte") oFeld1a = oSubSubForm.getByName("Textfeld_Email1") oFeld1b = oSubSubForm.getByName("Listenfeld_Domain1") oNummer = oFeld1b.SelectedItems(000) soFeld1b = oFeld1b.getItemText(oNummer)
stFeld1 = oFeld1a.Text + "@" + soFeld1b IF stFeld1 = "" THEN msgbox "Keine Mailadresse vorhanden." & CHR( 13) & "Das Mailprogramm wird nicht aufgerufen" , 48, "Mail senden" END IF
IF aInfos(1) ="leer" THEN stFeld2 = "BESG: " stFeld3 = "Liebe " END IF
IF aInfos(1) ="Strom" THEN stFeld2 = "BESG-Strom: erstes Feedback" stFeld3 = "Liebe StromkundInnen der BürgerEnergie Solingen,%0A%0A" stFeld3 = stFeld3 + "wir freuen uns darüber, dass Sie inzwischen von den Stadtwerken mit unserem BESG-Bürgerstrom beliefert werden!%0A%0A" stFeld3 = stFeld3 + "Da für uns als Genossenschaft dieses erste, gemeinsam mit den Stadtwerken entwickelte Stromprodukt auch noch neu ist, vermuten wir, dass die Abläufe noch verbesserungsfähig sind. Deshalb bitten wir herzlich um Antwort auf die folgenden Fragen:%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "- Wie und wo haben Sie von unserm BESG-Bürgerstrom erfahren?%0A" stFeld3 = stFeld3 + "- Was hat Sie davon überzeugt, den Antrag für den Bezug dieses Stroms zu stellen?%0A" stFeld3 = stFeld3 + "- Wie zufrieden sind Sie mit dem Ablauf des Wechselverfahrens? Was könnte darin verbessert werden?%0A%0A" stFeld3 = stFeld3 + "Benötigen Sie Flyer oder zusätzliche Informationen, wenn Sie Ihren Freunden," stFeld3 = stFeld3 + "Freundinnen und Bekannten unseren BESG-Bürgerstrom weiterempfehlen möchten?%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "Falls Sie darüber hinaus weitergehende Anregungen oder Fragen haben: Teilen Sie mir diese bitte auch mit!%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "Und: Empfehlen Sie uns weiter! Jede weitere Kundin, jeder weitere Kunde trägt zum Erfolg unserer Arbeit als Genossenschaft bei. Besonders würden wir uns natürlich darüber freuen, wenn wir Sie als neues Genossenschaftsmitglied gewinnen könnten!%0A" stFeld3 = stFeld3 + "Rufen Sie mich gerne an, wenn Sie Fragen zu unserer Arbeit haben (Tel: 0212 2333433) " stFeld3 = stFeld3 + "- oder schauen Sie auf unsere Internetseite http://bürgerenergie-solingen.de.%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "Mit herzlichem Gruß,%0AIngeborg Friege%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "%0A" stFeld3 = stFeld3 + "%0A" END IF oShell = createUnoService( "com.sun.star.system.SystemShellExecute") oShell.execute( "mailto:" + stFeld1 + "?subject=" + stFeld2 + "&body=" + stFeld3,, 0) END SUB |
Standard |
Berichte |
Filtern_und_Mail_Text |
|
Basic |
|
39 |
Sub Filtern_und_Mail_Text(oEvent AS OBJECT)
DIM stTag AS STRING stTag = oEvent.Source.Model.Tag aInfos() = Split(stTag, ",") DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName( "Formular_Ueber") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement()
stSql = "SELECT ""Text"" FROM ""Texte"" WHERE ""ID"" = 'EMAIL_STROM_FEEDBACK'"
oResult = oSQL_Statement.executeQuery(stSql) oResult.next stAusgabe = oResult.getString(1)
stSql = "SELECT ""Text"" FROM ""Texte"" WHERE ""ID"" = 'ENDE'" oResult = oSQL_Statement.executeQuery(stSql) oResult.next stAusgabe = oResult.getString(1) End Sub |
Standard |
Berichte |
GetRepertoirePath |
|
Basic |
Calc2CSV_exists (Procedure) Schreibe_MM_configTXT (Procedure) Lies_MM_configTXT (Procedure) |
8 |
Function GetRepertoirePath(sInstPath as String) as String Dim oPathSubstSrv as Object Dim sPath as String sInstPath = "$("+sInstPath+")" oPathSubstSrv = createUnoService("com.sun.star.comp.framework.PathSubstitution") sPath = ConvertFromUrl(oPathSubstSrv.getSubstituteVariableValue(sInstPath)) GetRepertoirePath = sPath End Function |
Standard |
Berichte |
Lib_Erzeugen |
|
Basic |
|
14 |
Sub Lib_Erzeugen Dim oLib as Object oLib = GlobalScope.BasicLibraries.Standard sZeilen="Rem (C) Gisbert Friege"+Chr(13) sZeilen = sZeilen + "MeinModultext"+Chr(13) If oLib.hasByName("Hallo") Then oLib.ReplaceByName("Hallo", sZeilen) Else oLib.InsertByName("Hallo", sZeilen) EndIf End Sub |
Standard |
Berichte |
Lib_TEST |
|
Basic |
|
10 |
Sub Lib_TEST Dim oLib as Object oLib = GlobalScope.BasicLibraries.Standard If oLib.hasByName("Calc2CSV") Then msgbox ("Modul Calc2CSV ist vorhanden.") Else msgbox ("Modul Calc2CSV muss angelegt werden!") EndIf End Sub |
Standard |
Berichte |
Lies_MM_configTXT |
|
Basic |
|
28 |
Sub Lies_MM_configTXT() DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld1 AS OBJECT DIM oFeld2 AS OBJECT DIM sPfad AS STRING oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular") oFeld1 = oForm.getByName("Dateiauswahl") oFeld2 = oForm.getByName("MailmergePfad") If Getguitype = 1 Then sFichierModule = GetRepertoirePath("user")&"\config\mailmergepfad.txt" Else sFichierModule = GetRepertoirePath("user")&"/config/mailmergepfad.txt" If FileExists (sFichierModule) Then iNumber = Freefile Open sFichierModule for Input As iNumber Line Input #iNumber, sPfad oFeld1.Text = sPfad oFeld2.Label = sPfad Else MsgBox "Datei mailmergepfad.txt fehlt noch! Bitte erst die Mailmerge-csv-Datei auswählen!" End If End Sub |
Standard |
Berichte |
Mailmerge |
|
Basic |
|
8 |
SUB Mailmerge(oEvent AS OBJECT) DIM stTag AS STRING stTag = oEvent.Source.Model.Tag ThisDatabaseDocument.ReportDocuments.getByName(stTag).open END SUB |
Standard |
Berichte |
Modul_Calc2CSV_anlegen |
|
Basic |
|
70 |
Sub Modul_Calc2CSV_anlegen Dim sParametres, sSrce as String Dim oLib as Object Dim oBasLibs as Object oBasLibs = GlobalScope.BasicLibraries If oBasLibs.HasByName("Standard") Then oLib =oBasLibs.GetByName("Standard") If oLib.hasByName("Calc2CSV") Then oLib.removeByName("Calc2CSV") End If Wait 500 sSrce = "REM (C) Gisbert Friege www.friege.de" & Chr(13) sSrce = sSrce & "REM Dieses Modul wird in ""Meine Makros & Dialoge - Standard"" angelegt." & Chr(13) sSrce = sSrce & "REM In LibreOffice Calc sollte ein Symbol auf der Standard-Symbolleiste angelegt werden," & Chr(13) sSrce = sSrce & "REM mit dem das hier definierte Makro Mailmerge_csv_speichern gestartet weden kann." & Chr(13) & Chr(13) sSrce = sSrce & "Sub Mailmerge_csv_speichern" & Chr(13) sSrce = sSrce & "dim document as object" & Chr(13) sSrce = sSrce & "dim dispatcher as object" & Chr(13) sSrce = sSrce & "dim sPfad as string" & Chr(13) sSrce = sSrce & "dim sFrage as string" & Chr(13) sSrce = sSrce & "dim vAntwort as Integer" & Chr(13) sSrce = sSrce & "document = ThisComponent.CurrentController.Frame" & Chr(13) sSrce = sSrce & "dispatcher = createUnoService(""com.sun.star.frame.DispatchHelper"")" & Chr(13) sSrce = sSrce & "dim args1(2) as new com.sun.star.beans.PropertyValue" & Chr(13) sSrce = sSrce & "args1(0).Name = ""URL""" & Chr(13) sSrce = sSrce & "sPfad = Pfad_MM_config" & Chr(13) sSrce = sSrce & "sFrage = ""Soll die Tabelle wirklich nach "" + sPfad + "" gespeichert werden?"" + chr(13)" & Chr(13) sSrce = sSrce & "sFrage = sFrage + ""(Der Pfad kann im Datenbak-Formular Mailmerge Einrichtung angepasst werden!)""" & Chr(13) sSrce = sSrce & "vAntwort = MsgBox (sFrage,1,""Tabelle als .csv speichern"")" & Chr(13) sSrce = sSrce & "REM Hier ggf. aussteigen" & Chr(13) sSrce = sSrce & "if (vAntwort > 1) then GoTo LabelExit" & Chr(13) sSrce = sSrce & "args1(0).Value = ConvertToURL(sPfad)" & Chr(13) sSrce = sSrce & "args1(1).Name = ""FilterName""" & Chr(13) sSrce = sSrce & "args1(1).Value = ""Text - txt - csv (StarCalc)""" & Chr(13) sSrce = sSrce & "args1(2).Name = ""FilterOptions""" & Chr(13) sSrce = sSrce & "args1(2).Value = ""9,0,ANSI,1,,0,false,true,true,false""" & Chr(13) sSrce = sSrce & "dispatcher.executeDispatch(document, "".uno:SaveAs"", """", 0, args1())" & Chr(13) sSrce = sSrce & "msgbox (""Tabelle erfolgreich gespeichert in "" + sPfad,64,""Tabelle als .csv speichern"")" & Chr(13) sSrce = sSrce & "LabelExit:" & Chr(13) sSrce = sSrce & "dispatcher.executeDispatch(document, "".uno:Close"", """", 0, Array())" & Chr(13) sSrce = sSrce & "End Sub" & Chr(13) & Chr(13)
sSrce = sSrce & "Function GetRepertoirePath(sInstPath as String) as String' sInstPath z.B. ""user""" & Chr(13) sSrce = sSrce & "Dim oPathSubstSrv as Object" & Chr(13) sSrce = sSrce & "Dim sPath as String" & Chr(13) sSrce = sSrce & "sInstPath = ""$(""+sInstPath+"")""" & Chr(13) sSrce = sSrce & "oPathSubstSrv = createUnoService(""com.sun.star.comp.framework.PathSubstitution"")" & Chr(13) sSrce = sSrce & "sPath = ConvertFromUrl(oPathSubstSrv.getSubstituteVariableValue(sInstPath))" & Chr(13) sSrce = sSrce & "GetRepertoirePath = sPath" & Chr(13) sSrce = sSrce & "End Function" & Chr(13) & Chr(13)
sSrce = sSrce & "Function Pfad_MM_config As String" & Chr(13) sSrce = sSrce & "If Getguitype = 1 Then sPfadDatei = GetRepertoirePath(""user"") & ""\config\mailmergepfad.txt"" Else sPfadDatei = GetRepertoirePath(""user"") & ""/config/mailmergepfad.txt""" & Chr(13) sSrce = sSrce & "iNumber = Freefile" & Chr(13) sSrce = sSrce & "Open sPfadDatei for Input As iNumber" & Chr(13) sSrce = sSrce & "Line Input #iNumber, sPfad" & Chr(13) sSrce = sSrce & "Pfad_MM_config = sPfad" & Chr(13) sSrce = sSrce & "End Function" & Chr(13)
oLib.InsertByName("Calc2CSV",sSrce) On Error GoTo 0 Else msgbox("Die Bibliothek Meine_Makros&Dialog.Standard fehlt! Sie muss erst erst in der Verwaltung der MAkro-Bibliotheken angelegt werden!") End If
End sub |
Standard |
Berichte |
Replace |
|
Basic |
|
5 |
Function Replace(Source As String, Search As String, NewPart As String) Dim Result As String Result = join(split(Source, Search), NewPart) Replace = Result End Function |
Standard |
Berichte |
Schreibe_MM_configTXT |
|
Basic |
Dateiauswahl (Procedure) |
11 |
Sub Schreibe_MM_configTXT( sPfad as String) If Getguitype = 1 Then sPfadDatei = GetRepertoirePath("user")&"\config\mailmergepfad.txt" Else sPfadDatei = GetRepertoirePath("user")&"/config/mailmergepfad.txt" If Fileexists(sPfadDatei) Then Kill sPfadDatei iNumber = Freefile Open sPfadDatei For Output As iNumber Print #iNumber, sPfad Close #iNumber End Sub |
Standard |
Dividenden |
Abfrage_in_XML |
|
Basic |
8i - Ueberweisungen|Schaltfläche SEPA (Control) |
400 |
SUB Abfrage_in_XML(oEvent AS OBJECT)
DIM oDatenDatei AS OBJECT DIM oAbfragen AS OBJECT DIM oAbf AS OBJECT DIM oAbfrageergebnis AS OBJECT DIM stQuery AS STRING DIM ausNumber As Integer DIM inaNumber As Integer DIM inbNumber As Integer DIM incNumber As Integer DIM sDatei AS STRING DIM stTag AS STRING DIM sp AS INTEGER DIM splast AS INTEGER
DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld1 AS OBJECT DIM stDBDir AS STRING
oPForm = oEvent.Source.Model.Parent oConnection = oPForm.activeConnection()
oDoc = thisComponent oDB = ThisComponent.Parent stDBDir = Left(oDB.Location,Len(oDB.Location)-Len(oDB.Title)) oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Serie") oFeld_Datum = oForm.getByName("Markierfeld_Datum") mitDatum = oFeld_Datum.State
stTag = oEvent.Source.Model.Tag aForms() = Split(stTag, ",") stName = Trim(aForms(0)) stZusatz = Trim(aForms(1)) oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement()
stSql = "SELECT * FROM ""Pfade_SEPA"" WHERE ""ID""='A'" oResult = oSQL_Anweisung.executeQuery(stSql) oResult.next stPfadvorA = oResult.getString(2) stDateivorA = oResult.getString(3) inaDatei = stDBDir & stPfadvorA & "/" & stDateivorA
stSql = "SELECT * FROM ""Pfade_SEPA"" WHERE ""ID""='S'" oResult = oSQL_Anweisung.executeQuery(stSql) oResult.next stPfadvorS = oResult.getString(2) stDateivorS = oResult.getString(3) insDatei = stDBDir & stPfadvorS & "/" & stDateivorS
stSql = "SELECT * FROM ""Pfade_SEPA"" WHERE ""ID""='B'" oResult = oSQL_Anweisung.executeQuery(stSql) oResult.next stPfadvorB = oResult.getString(2) stDateivorB = oResult.getString(3) inbDatei = stDBDir & stPfadvorB & "/" & stDateivorB
stSql = "SELECT * FROM ""Pfade_SEPA"" WHERE ""ID""='C'" oResult = oSQL_Anweisung.executeQuery(stSql) oResult.next stPfadvorC = oResult.getString(2) stDateivorC = oResult.getString(3) incDatei = stDBDir & stPfadvorC & "/" & stDateivorC
stSql = "SELECT * FROM ""Pfade_SEPA"" WHERE ""ID""='T'" oResult = oSQL_Anweisung.executeQuery(stSql) oResult.next stPfadetmp = oResult.getString(2) stDatei_tmp = oResult.getString(3) tmpDatei = stDBDir & stPfadetmp & "/" & stDatei_tmp stSql = "SELECT * FROM ""Pfade_SEPA"" WHERE ""ID""='X'" oResult = oSQL_Anweisung.executeQuery(stSql) oResult.next stPfadex = oResult.getString(2) stDatei_ex = oResult.getString(3) IF mitDatum THEN stdat() = split (Date,".") isoDatum = stdat(2) & "-" & stdat(1) & "-" & stdat(0) stDatei_ex = isoDatum & "_" & stDatei_ex END IF ausDatei = stDBDir & stPfadex & "/" & stDatei_ex
janein = msgbox("Wirklich in die Datei" & ChrChr$) & ChrausDatei ausDatei & ChrChr$) & Chrausgeben"ausgeben ?",256+32+4,"Überleg nochmal:") IF janein = 7 THEN EXIT SUB If Fileexists(tmpDatei) Then Kill tmpDatei tmpNumber = Freefile Open tmpDatei For Output As tmpNumber
If Fileexists(ausDatei) Then Kill ausDatei ausNumber = Freefile Open ausDatei For Output As ausNumber If Fileexists(inaDatei) Then inaNumber = Freefile Open inaDatei For Input As inaNumber Else msgbox inaDatei & " nicht zu finden... - breche ab." exit sub End If
If Fileexists(insDatei) Then insNumber = Freefile Open insDatei For Input As insNumber Else msgbox insDatei & " nicht zu finden... - breche ab." exit sub End If
If Fileexists(inbDatei) Then inbNumber = Freefile Open inbDatei For Input As inbNumber Else msgbox inbDatei & " nicht zu finden... - breche ab." exit sub End If If Fileexists(incDatei) Then incNumber = Freefile Open incDatei For Input As incNumber Else msgbox incDatei & " nicht zu finden... - breche ab." exit sub End If
oSQL_Statement = oConnection.createStatement() oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_SEPAHisto") oFeldN = oForm.getByName("NumF_DH_ID") sHZeile = oFeldN.Value oFeldD = oForm.getByName("DatF_REQDEXCTNDT") sTZahlung = oFeldD.Date sTZ = sTZahlung.Year & "-" & sTZahlung.Month & "-" & sTZahlung.Day oFeldT = oForm.getByName("Textfeld_USTRD") sVWZ = oFeldT.Text stSql = "UPDATE ""SEPAHistorie"" SET ""REQDEXCTNDT"" ='" + sTZ + "', ""USTRD_Muster"" ='" + sVWZ + "' WHERE ""ID""=" & SHZeile oResult = oSQL_Statement.executeQuery(stSql)
Teilb:
oEForm = oPForm.getByName("Ehemalige") soviele = oEForm.RowCount DIM negativListe(soviele) oEForm.reload() oEForm.first() stehemaligField = oEForm.findColumn("Mitgliedsnummer") ineg=0 negativListe(ineg) = oEForm.getInt(1) WHILE oEForm.next ineg = ineg + 1 negativListe(ineg) = oEForm.getInt(1) WEND
stIDField = oPForm.findColumn("ID") stID = oPForm.getString(stIDField)
stvonField = oPForm.findColumn("von") stvon = oPForm.getInt(stvonField)
stbisField = oPForm.findColumn("bis") stbis = oPForm.getInt(stbisField)
txanzahl=0 ctrlsumme=0.00 staktuellField = oPForm.findColumn("aktuell") i = stvon oPForm.updateInt(staktuellField,i) stAusgabeb = ""
DO WHILE i < stbis+1 drucken = TRUE j=0 WHILE (j < ineg + 1) if negativListe(j) = i then drucken = FALSE end if j=j+1 WEND IF drucken THEN stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + i + "' WHERE ""ID""=0" oResult = oSQL_Anweisung.executeQuery(stSql) ELSE GOTO Labelnichtdrucken END IF
oDatenDatei = oDatenquelle.DataSource oAbfragen = oDatenDatei.getQueryDefinitions() oAbf = oAbfragen.getByName( stName ) stQueryb = oAbf.command oAbfrageergebnisb = oSQL_Anweisung.executeQuery(stQueryb) splastb= oAbfrageergebnisb.Columns.Count stSpaltenb()=oAbfrageergebnisb.Columns.ElementNames oAbfrageergebnisb.next While (Not eof(inbNumber)) Line Input #inbNumber, sLine If sLine <>"" Then sp = 0 WHILE sp < (splastb) stQueryb = "SELECT """ + stSpaltenb(sp) + """ FROM """ + stName + """ " oAbfrageergebnisb = oSQL_Anweisung.executeQuery(stQueryb) oAbfrageergebnisb.next stErgebnisb = oAbfrageergebnisb.getString(1) IF stSpaltenb(sp) = sLine THEN
if sLine = "INSTAMT" then ctrlsumme = ctrlsumme + stErgebnisb end if
sLine = stErgebnisb GOTO Labelrausb END IF sp = sp + 1 WEND Labelrausb: stAusgabeb = stAusgabeb & sLine End If Wend PRINT #tmpNumber, stAusgabeb stAusgabeb = "" txanzahl=txanzahl + 1 Labelnichtdrucken: i = i + 1 oPForm.updateInt(staktuellField,i)
Close #inbNumber Open inbDatei For Input As #inbNumber LOOP
Close #tmpNumber
stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + stvon + "' WHERE ""ID""=0" oResult = oSQL_Anweisung.executeQuery(stSql) oPForm.reload() wait 100
mitDecPunkt = join(split(ctrlsumme, ","), ".") stSqlsx = "UPDATE ""SEPAHistorie"" SET ""NBOFTXS"" ='" + txanzahl + "' WHERE ""ID""=" + sHZeile oResultsx = oSQL_Anweisung.executeQuery(stSqlsx) stSqlcs = "UPDATE ""SEPAHistorie"" SET ""CTRLSUM"" ='" + mitDecPunkt + "' WHERE ""ID""=" + sHZeile oResultcs = oSQL_Anweisung.executeQuery(stSqlcs)
Teila:
stQuery = "SELECT * FROM ""SEPAHistorie"" WHERE ID = '" + sHZeile + "'" oAbfrageergebnis = oSQL_Anweisung.executeQuery(stQuery) splastaH= oAbfrageergebnis.Columns.Count stSpaltenaH()=oAbfrageergebnis.Columns.ElementNames
stQuery = "SELECT * FROM ""SEPAselbst"" WHERE ID = '0'" oAbfrageergebnis = oSQL_Anweisung.executeQuery(stQuery) splastaS= oAbfrageergebnis.Columns.Count stSpaltenaS()=oAbfrageergebnis.Columns.ElementNames
stAusgabea = ""
While Not eof(inaNumber) Line Input #inaNumber, sLine If sLine <>"" Then spH = 0 WHILE spH < (splastaH) stQuery = "SELECT """ + stSpaltenaH(spH) + """ FROM ""SEPAHistorie"" WHERE ID = '" + sHZeile + "'" oAbfrageergebnis = oSQL_Anweisung.executeQuery(stQuery) oAbfrageergebnis.next stErgebnis = oAbfrageergebnis.getString(1) IF stSpaltenaH(spH) = sLine THEN IF sLine = "CREDTTM" then mid(stErgebnis,11,1,"T") sLine = stErgebnis GOTO Labelrausa END IF spH = spH + 1 WEND Labelrausa: stAusgabea = stAusgabea & sLine End If Wend
While Not eof(insNumber) Line Input #insNumber, sLine If sLine <>"" Then spS = 0 WHILE spS < (splastaS) stQuery = "SELECT """ + stSpaltenaS(spS) + """ FROM ""SEPAselbst"" WHERE ID = '0'" oAbfrageergebnis = oSQL_Anweisung.executeQuery(stQuery) oAbfrageergebnis.next stErgebnis = oAbfrageergebnis.getString(1) IF stSpaltenaS(spS) = sLine THEN IF sLine = "DB_IBAN" THEN stErgebnis = Replace(stErgebnis," ","") sLine = stErgebnis GOTO Labelrauss END IF spS = spS + 1 WEND Labelrauss: stAusgabea = stAusgabea & sLine End If Wend Print #ausNumber, stAusgabea
Teilc: stAusgabec = "" While (Not eof(incNumber)) Line Input #incNumber, sLine If sLine <>"" Then stAusgabec = stAusgabec & sLine End If Wend
Open tmpDatei For Input As tmpNumber while not eof(tmpNumber) Line Input #tmpNumber, sLine Print #ausNumber, sLine wend Print #ausNumber, stAusgabec
Close #inaNumber Close #inbNumber Close #incNumber Close #tmpNumber Close #ausNumber msgbox ("Anzahl der Einzelüberweisungen: " & txanzahl & chr(10) & "Summe der Überweisungsbeträge: " & mitDecPunkt & " €.",64,"Fertig!") END SUB |
Standard |
Dividenden |
Ablaufdatum |
|
Basic |
8e - SteuerDaten|Schaltfläche 2 (Control) 8j - IBAN|Schaltfläche 2 (Control) |
111 |
SUB Ablaufdatum oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Steuerdaten")
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement() stZiel = "SteuerDaten" stMNr = 1
stSql_MNrMax = " SELECT MAX( ""Mitgliedsnummer"" ) FROM ""Mitglieder"" " oResult_MNrMax = oSQL_Anweisung.executeQuery(stSql_MNrMax) oResult_MNrMax.next letzte=oResult_MNrMax.getInt(1)
DIM datL0 AS LONG DIM datL0S AS LONG DIM datL1 AS LONG DIM datS AS STRING datL0 = Date datS = Date datarr()=split(datS,".") f_datS = datarr(2) & "-" & datarr(1) & "-" & datarr(0) datL0S = DateSerial(datarr(2),datarr(1),datarr(0),) txanzahl_nv = 0 txanzahl_fsa = 0 While stMNr < letzte + 1 stSql_NVTest = " SELECT ""Mitgliedsnummer"",""NV"",""NVbis"",""FSA"",""FSAbis"" FROM """ + stZiel + """ WHERE """ + stZiel + """.""Mitgliedsnummer"" = '" + stMNr + "' " oResult_NVTest = oSQL_Anweisung.executeQuery(stSql_NVTest) oResult_NVTest.next stMNr = oResult_NVTest.getInt(1) stNV = oResult_NVTest.getBoolean(2) stNVbis = oResult_NVTest.getDate(3) stFSA = oResult_NVTest.getBoolean(4) stFSAbis = oResult_NVTest.getDate(5)
if stNV then if (stNVbis.Year * stNVbis.Month * stNVbis.Day) = 0 then msgbox ("Bitte erst im Formular 5c-DividendenKonten korrigieren und aktualisieren!",48,"NV-bis-Datum bei Mitgliedsnummer " & stMNr & " fehlt oder falsch") goto Labelraus else datL1 = DateSerial(stNVbis.Year,stNVbis.Month,stNVbis.Day) if datL1 < datL0 then sttitel = "Das NV-Ablaufdatum: " & stNVbis.Day & "." & stNVbis.Month & "." & stNVbis.Year & " liegt in der Vergangenheit!" janein = msgbox ("Soll NV für Mitgliedsnummer " & stMNr & " zurückgesetzt werden?",256+32+4,sttitel) if janein = 6 then stSql = "UPDATE ""SteuerDaten"" SET ""NV"" = FALSE, ""NVbis"" = NULL " stSql = stSql & "WHERE ""Mitgliedsnummer"" ='" + stMNr + "' " oResult = oSQL_Anweisung.executeQuery(stSql) oForm.reload() txanzahl_nv = txanzahl_nv + 1 end if end if end if end if
if stFSA then if (stFSAbis.Year * stFSAbis.Month * stFSAbis.Day) = 0 then msgbox ("Bitte erst im Formular 5c-DividendenKonten korrigieren und aktualisieren!",48,"FSA-bis-Datum bei Mitgliedsnummer " & stMNr & " fehlt oder falsch") goto Labelraus else datL1 = DateSerial(stFSAbis.Year,stFSAbis.Month,stFSAbis.Day) if datL1 < datL0 then sttitel = "Das FSA-Ablaufdatum: " & stFSAbis.Day & "." & stFSAbis.Month & "." & stFSAbis.Year & " liegt in der Vergangenheit!" janein = msgbox ("Soll FSA für Mitgliedsnummer " & stMNr & " zurückgesetzt werden?",256+32+4,sttitel) if janein = 6 then stSql = "UPDATE ""SteuerDaten"" SET ""FSA"" = FALSE,""FSAbis"" = NULL,""FSARest"" = NULL " stSql = stSql & "WHERE ""Mitgliedsnummer"" ='" + stMNr + "' " oResult = oSQL_Anweisung.executeQuery(stSql) oForm.reload() end if txanzahl_fsa = txanzahl_fsa + 1 end if end if end if stMNr = stMNr + 1 Wend oForm.reload() Select Case txanzahl_nv Case 0 msgbox ("Kein NV-Eintrag zurückgesetzt.",64,"Steuerdaten") Case 1 msgbox ("Ein NV-Eintrag zurückgesetzt.",64,"Steuerdaten") Case Else msgbox (txanzahl_nv & " NV-Einträge zurückgesetzt.",64,"Steuerdaten") End Select Select Case txanzahl_fsa Case 0 msgbox ("Kein FSA-Eintrag zurückgesetzt.",64,"Steuerdaten") Case 1 msgbox ("Ein FSA-Eintrag zurückgesetzt.",64,"Steuerdaten") Case Else msgbox (txanzahl_fsa & " FSA-Einträge zurückgesetzt.",64,"Steuerdaten") End Select Labelraus: END SUB |
Standard |
Dividenden |
DivHistoZeile |
|
Basic |
KontodatenEintragen (Procedure) test (Procedure) |
20 |
FUNCTION DivHistoZeile AS LONG DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oZ AS OBJECT oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Start") oFeld = oForm.getByName("TabellenElementDividendenHistorie") oSpalte = oFeld.getByName("Numerisches Feld Zeile") oSpalte.HelpText = "Zeile auswählen!" wait 100 oZ=oFeld.getRowSet() wait 100 DivHistoZeile = oZ.Row END FUNCTION |
Standard |
Dividenden |
DividHisto_DatenEintragen |
|
Basic |
|
45 |
SUB DividHisto_DatenEintragen(oEvent AS OBJECT)
DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oSpalte AS OBJECT
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement()
oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_SEPAHisto") oFeld = oForm.getByName("TabellenElementHistorie") oSpalte=oFeld.getByName("NumF_DivHistZeile") DH_znr = oSpalte.Value oSpalteVWZ=oFeld.getByName("USTRD_Muster") stSql = " SELECT ""Verwendungszweck"" FROM ""DividendenHistorie"" WHERE ""ID"" = " & DH_znr oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql) oAbfrageergebnis.next stVWZ = oAbfrageergebnis.getString(1) oSpalteVWZ.Text = stVWZ oSpalteVWZ.commit() wait 100 oSpalteTZ=oFeld.getByName("DatF_REQDEXCTNDT") stSql = " SELECT ""TagZahlung"" FROM ""DividendenHistorie"" WHERE ""ID"" = " & DH_znr oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql) oAbfrageergebnis.next dateTZ = oAbfrageergebnis.getDate(1) oSpalteTZ.Date = dateTZ oSpalteTZ.commit() wait 100 END SUB |
Standard |
Dividenden |
KontodatenEintragen |
|
Basic |
8d - DividendenZentrale|SchaltflächeAnteile (Control) |
210 |
SUB KontodatenEintragen(oEvent AS OBJECT) stSerie = oEvent.Source.Model.Tag
oPForm = oEvent.Source.Model.Parent oVerbindung = oPForm.activeConnection() oSQL_Statement = oVerbindung.createStatement()
oEForm = oPForm.getByName("Ehemalige") soviele = oEForm.RowCount DIM negativListe(soviele) oEForm.reload() oEForm.first() stehemaligField = oEForm.findColumn("Mitgliedsnummer") ineg=0 negativListe(ineg) = oEForm.getInt(1) WHILE oEForm.next ineg = ineg + 1 negativListe(ineg) = oEForm.getInt(1) WEND
stSql = "SELECT ""Wert"" FROM ""Fixwerte"" WHERE ""Fixwerte"".""Art""=" + "'1Anteil'" oResult = oSQL_Statement.executeQuery(stSql) oResult.next Wert1Anteil = oResult.getFloat(1) DHZeile = DivHistoZeile() stSql = "SELECT * FROM ""DividendenHistorie"" WHERE ""ID""="+DHZeile+"" oResult = oSQL_Statement.executeQuery(stSql) oResult.next TagEintrag = oResult.getDate(2) TagZahlung = oResult.getDate(3) AusProzent = oResult.getFloat(4) VWZweck = oResult.getString(5) KEStProzent = oResult.getFloat(6) SoliProzent = oResult.getFloat(7) f_dat = TagEintrag.Year & "-" & TagEintrag.Month & "-" & TagEintrag.Day f_datZ = TagZahlung.Year & "-" & TagZahlung.Month & "-" & TagZahlung.Day f_ausproz = join(split(AusProzent, ","), ".") f_kestproz = join(split(KEStProzent, ","), ".") f_soliproz = join(split(SoliProzent, ","), ".")
stIDField = oPForm.findColumn("ID") stID = oPForm.getString(stIDField) stvonField = oPForm.findColumn("von") stvon = oPForm.getInt(stvonField) stbisField = oPForm.findColumn("bis") stbis = oPForm.getInt(stbisField) anzdiff = stbis - stvon +1 janein = msgbox("Wirklich die Daten mit ID=" & DHZeile & " in alle (außer übersprungene) " & anzdiff & " Konten durchführen?",256+32+4,"Überleg nochmal:") IF janein = 7 THEN EXIT SUB
staktuellField = oPForm.findColumn("aktuell") i = stvon oPForm.updateInt(staktuellField,i)
txanzahl=0
janein = msgbox("Sind wirklich ALLE Nichtveranlagungsdaten" & Chrund3) & "und Freistellungsaufträge" & Chreingetragenngetragen Im,256+32+4,"Im Zweifel bitte JETZT NEIN sagen!") if janein = 7 then goto Labelraus
DO WHILE i < stbis+1 drucken = TRUE j=0 WHILE (j < ineg + 1) if negativListe(j) = i then drucken = FALSE end if j=j+1 WEND IF NOT drucken THEN GOTO Labelnichtweiter ELSE stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + i + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) END IF txanzahl=txanzahl + 1 stSql = "SELECT ""Anteile"".""Mitgliedsnummer"", SUM( ""Anteile"".""AnteilePlusMinus"" ) ""AnteileSumme"" FROM ""Anteile"", ""von_bis"" WHERE ""Anteile"".""Mitgliedsnummer"" = ""von_bis"".""aktuell"" GROUP BY ""Anteile"".""Mitgliedsnummer""" oResult = oSQL_Statement.executeQuery(stSql) While oResult.next MitNr = oResult.getInt(1) AnteileSumme = oResult.getInt(2) Wend Ausschuettung = Wert1Anteil * AnteileSumme * AusProzent / 100 f_ausschuett = join(split(Ausschuettung, ","), ".") stSql = "INSERT INTO ""Anteile"" (""Mitgliedsnummer"",""VorgangID"",""TagEintrag"",""AnteileSaldo"",""AusProzent"",""Ausschuettung"")" stSql = stSql & " VALUES('" + MitNr + "','20','" + f_dat + "','" + AnteileSumme + "','" + f_ausproz + "','"+ f_ausschuett + "')" oResult = oSQL_Statement.executeQuery(stSql)
stSql = "SELECT * FROM ""SteuerDaten"" WHERE ""Mitgliedsnummer"" = " + i oResult = oSQL_Statement.executeQuery(stSql) While oResult.next MitNr = oResult.getInt(1) KiStproz = oResult.getFloat(4) isNV = oResult.getBoolean(5) isFSA = oResult.getBoolean(7) FSARest = oResult.getFloat(9) Wend
InAnspruch = 0 SPAusschuettung = Ausschuettung if isFSA then FSARestneu = FSARest - Ausschuettung if FSARestneu < 0 then FSARestneu = 0 SPAusschuettung = Ausschuettung - FSARest InAnspruch = FSARest else SPAusschuettung = 0 InAnspruch = Ausschuettung end if end if KESt = SPAusschuettung * KEStProzent / 100 KiSt = KESt * KiStproz / 100 SoliZu = KESt * SoliProzent / 100
KESt2 = KESt / (1 + (KiStproz / 100) * (KEStProzent / 100))
Auszahlung = Ausschuettung - KESt2 - SoliZu - KiSt f_kistpro = join(split(KiStproz, ","), ".") f_kist = join(split(KiSt, ","), ".") f_soli = join(split(SoliZu, ","), ".") InAnspruch = InAnspruch * (-1) f_fsa = join(split(InAnspruch, ","), ".") f_fsarest = join(split(FSARestneu, ","), ".") f_kest2 = join(split(KESt2, ","), ".") f_auszahl = join(split(Auszahlung, ","), ".") stSql = "INSERT INTO ""Dividenden"" (""ausgezahlt"",""Mitgliedsnummer"",""DividID"",""Kennung"",""TagEintrag"",""AnteileSaldo"",""KEStproz"",""Soliproz"",""KiStproz"",""AusProzent"",""KapErtr"",""KapErtrSt"",""Soli"",""KiSt"",""FSABetrag"",""Auszahlung"" )" stSql = stSql & " VALUES('FALSE','" + MitNr + "','1','" + VWZweck + "','" + f_dat + "','" + AnteileSumme + "','" + f_kestproz + "','" + f_soliproz + "','" + f_kistpro + "','" + f_ausproz + "','"+ f_ausschuett + "','" + f_kest2 + "','" + f_soli + "','" + f_kist + "','" + f_fsa + "','" + f_auszahl + "')"
oResult = oSQL_Statement.executeQuery(stSql)
if InAnspruch < 0 then stSql = "INSERT INTO ""Dividenden"" (""Mitgliedsnummer"",""DividID"",""TagEintrag"",""FSABetrag"" )" stSql = stSql & " VALUES('" + MitNr + "','3','" + f_dat + "','" + f_fsarest + "')" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""SteuerDaten"" SET ""FSARest"" = '" + f_fsarest + "' WHERE ""Mitgliedsnummer"" = '" + MitNr + "'" oResult = oSQL_Statement.executeQuery(stSql) end if
Labelnichtweiter: i = i + 1 stAusgabeb = stAusgabeb & chr(10) oPForm.updateInt(staktuellField,i) LOOP
Select Case txanzahl Case 0 msgbox ("Kein Datensatz geschrieben.",64,"Dividenden-Eintragung") Case 1 msgbox ("Ein Datensatz geschrieben.",64,"Dividenden-Eintragung") Case Else msgbox (txanzahl & " Datensätze geschrieben.",64,"Dividenden-Eintragung") End Select
stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + stvon + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) oPForm.reload() wait 100 Labelraus: END SUB |
Standard |
Dividenden |
SEPAZeileMerken |
|
Basic |
8h - SEPAEinstellungen|SEPAHisto-ID (Control) |
44 |
SUB SEPAZeileMerken DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oZ AS OBJECT DIM SHZeile AS LONG oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_SEPAHistorie") oFeld = oForm.getByName("TabSteuerelem_SEPAHisto") oSpalte = oFeld.getByName("NumericFieldID") oSpalte.HelpText = "Zeile auswählen!" wait 100 oZ=oFeld.getRowSet() wait 100 SHZeile = oZ.Row msgbox ("Übernehme Zeile " & SHZeile & " der SEPA-Historie",64,"SEPA-Historie") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "UPDATE ""SEPAaktZeile"" SET ""SEPAZeile"" ='" + SHZeile + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "SELECT ""DivHistZeile"" FROM ""SEPAHistorie"" WHERE ""ID"" =" & SHZeile oResult = oSQL_Statement.executeQuery(stSql) oResult.next DHZeile = oResult.getint(1) stSql = "SELECT * FROM ""DividendenHistorie"" WHERE ""ID""=" & DHZeile oResult = oSQL_Statement.executeQuery(stSql) oResult.next colTZ = oResult.findColumn("TagZahlung") sTZahlung = oResult.getDate(colTZ) colVWZ = oResult.findColumn("Verwendungszweck") sVWZ = oResult.getString(colVWZ) sTZ = sTZahlung.Year & "-" & sTZahlung.Month & "-" & sTZahlung.Day stSql = "UPDATE ""SEPAHistorie"" SET ""REQDEXCTNDT"" ='" + sTZ + "', ""USTRD_Muster"" ='" + sVWZ + "' WHERE ""ID""=" & SHZeile oResult = oSQL_Statement.executeQuery(stSql) END SUB |
Standard |
Dividenden |
Steuerdaten_aktualisieren |
|
Basic |
5c - DividendenKonten|Steuerdaten_uebernehmen (Control) |
57 |
SUB Steuerdaten_aktualisieren(oEvent AS OBJECT) DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oZ AS OBJECT oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Konto") oFeld = oSubSubForm.getByName("Tabellen_Steuerelement")
MNr= oFeld.getbyName("NumF_Mitgl").value xray oFeld Vidnummer= oFeld.getbyName("NumF_VID").CurrentValue
datS = Date datarr()=split(datS,".") f_datS = datarr(2) & "-" & datarr(1) & "-" & datarr(0)
dat1= oFeld.getbyName("DateField1").Date stdatum1 = dat1.day & "." & dat1.month & "." & dat1.year f_dat1 = dat1.Year & "-" & dat1.Month & "-" & dat1.Day dat2= oFeld.getbyName("DateField2").Date stdatum2 = dat2.day & "." & dat2.month & "." & dat2.year f_dat2 = dat2.Year & "-" & dat2.Month & "-" & dat2.Day if Vidnummer = 3 then FSARest= oFeld.getbyName("NumF_Pausch").value end if
oVerbindung = oForm.activeConnection() oSQL_Statement = oVerbindung.createStatement() stSql = "UPDATE ""SteuerDaten"" SET ""Aktualisierung"" ='" + f_datS + "'," if Vidnummer = 3 then stSql = stSql & " ""FSA"" = TRUE, ""FSAbis"" = '" + f_dat2 + "', ""FSARest"" = '" + FSARest + "' " end if if Vidnummer = 4 then stSql = stSql & " ""NV"" = TRUE, ""NVbis"" = '" + f_dat2 + "' " end if stSql = stSql & "WHERE ""Mitgliedsnummer"" ='" + MNr + "' " oResult = oSQL_Statement.executeQuery(stSql) END SUB |
Standard |
Dividenden |
Steuerdaten_Mitgliedsnummern_ergaenzen |
|
Basic |
8e - SteuerDaten|Schaltfläche 1 (Control) 8j - IBAN|Schaltfläche 1 (Control) |
36 |
SUB Steuerdaten_Mitgliedsnummern_ergaenzen oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Steuerdaten")
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement() stZiel = "SteuerDaten" stMNr = 1
stSql_MNrMax = " SELECT MAX( ""Mitgliedsnummer"" ) FROM ""Mitglieder"" " oResult_MNrMax = oSQL_Anweisung.executeQuery(stSql_MNrMax) oResult_MNrMax.next letzte=oResult_MNrMax.getInt(1) msgbox ("letzte Mitgliedsnummer ist " & letzte,64,stZiel) While stMNr < letzte + 1 stSql_MNrTest = " SELECT """ + stZiel + """.""Mitgliedsnummer"" ""MNrTest"" FROM """ + stZiel + """ WHERE """ + stZiel + """.""Mitgliedsnummer"" = '" + stMNr + "' " oResult_MNrTest = oSQL_Anweisung.executeQuery(stSql_MNrTest) IF NOT oResult_MNrTest.next THEN stSql_neu = " INSERT INTO """ + stZiel + """ (""Mitgliedsnummer"") VALUES ('" + stMNr + "' ) " oResult_neu = oSQL_Anweisung.executeQuery(stSql_neu) msgbox ("Mitgliedsnummer " & stMNr & " neu eingefügt",64,stZiel) END IF stMNr = stMNr + 1 Wend oForm.reload() END SUB |
Standard |
Dividenden |
Steuerdaten_Zeilenauswahl |
|
Basic |
8e - SteuerDaten|Formular_StDaten|Schaltfläche_Einzeldruck (Control) 8j - IBAN|Formular_BankDaten1|Schaltfläche_Einzeldruck (Control) |
8 |
SUB Steuerdaten_Zeilenauswahl oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Steuerdaten") oFeld = oForm.getByName("Tabellen-SE-StDaten") END SuB |
Standard |
IBAN |
IBAN_check |
|
Basic |
Main (Procedure) |
22 |
FUNCTION IBAN_check(blz,kto,PZ AS string) AS BOOLEAN iban_ganz = blz & kto & "1314" & PZ
iban_1 = LEFT(iban_ganz,9) rest = CLNG(iban_1) MOD 97 if rest<10 then rest = "0" & rest
iban_2 = rest & MID(iban_ganz,10,7) rest = CLNG(iban_2) MOD 97 if rest<10 then rest = "0" & rest
iban_3 = rest & MID(iban_ganz,17,7) rest = CLNG(iban_3) MOD 97 if rest<10 then rest = "0" & rest
iban_4 = rest & MID(iban_ganz,24,7) rest = CLNG(iban_4) MOD 97 if (rest = 1) then IBAN_check = TRUE else IBAN_check = FALSE end if END FUNCTION |
Standard |
IBAN |
IBANcheck |
|
Basic |
3 - MitgliederBankdaten|Schaltfläche_IBAN (Control) |
67 |
SUB IBANcheck DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement()
oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Filter") oSubForm = oForm.getByName("Formular_Personen") oSubSubForm = oSubForm.getByName("Formular_Bankdaten") oFeld_IBAN = oSubSubForm.getByName("Textfeld_IBAN") oFeld_BLZ = oSubSubForm.getByName("Listenfeld_BLZ") oFeld_KTO = oSubSubForm.getByName("Textfeld_KtoNummer") IBAN_text = oFeld_IBAN.Text
BLZ_text = "" BLZ_ID = oFeld_BLZ.CurrentValue if (BLZ_ID <> "") AND (NOT IsEmpty(BLZ_ID)) then stSql = "SELECT ""BLZ"" FROM ""Banken"" WHERE ""ID"" = " + BLZ_ID oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql) oAbfrageergebnis.next BLZ_text= oAbfrageergebnis.getString(1) if LEN(BLZ_text) <> 8 then msgbox "BLZ " & BLZ_text & " ist nicht 8-stellig!" end if KTO_text = oFeld_KTO.Text KTO_text = String(10,"0") & KTO_text KTO_text = RIGHT(KTO_text,10) i=1 IBAN_neu = "" While i <= LEN (IBAN_text) zeichen = MID(IBAN_text,i,1) if zeichen <> " " then IBAN_neu = IBAN_neu & zeichen end if i=i+1 Wend if (LEN(IBAN_neu) = 22) AND pruefeIBAN(IBAN_neu) THEN msginfo = "OK: " & IBAN_neu & " ist plausibel." msgbox(msginfo,0+64,"IBAN-Prüfung") else IBAN_Versuch = stIBAN(BLZ_text,KTO_text,"00") msginfo = "IBAN passt nicht. " & chr(13) & "Sie könnte " & IBAN_Versuch & " sein." msgbox (msginfo,0+48,"IBAN-Prüfung") msginfo = "Soll die IBAN "& IBAN_Versuch & Chrin13) & "in die Tabelle BankDaten" & Chreingetragenngetragen werdenjaneinanein = msgbox(msginfo,256+32+4,"Im Zweifel bitte JETZT NEIN sagen!") if janein = 6 then oFeld_IBAN.setString(IBAN_Versuch) oFeld_IBAN.commit() end if end if END SUB |
Standard |
IBAN |
Main |
|
Basic |
|
9 |
Sub Main
print stIBAN("342500000","005228077","00") if IBAN_check("342500000","005228077","84") then print "OK"
END SUB |
Standard |
IBAN |
pruefeIBAN |
|
Basic |
IBANcheck (Procedure) |
24 |
FUNCTION pruefeIBAN(stIBAN AS string) AS BOOLEAN iban_ganz = MID(stIBAN,5,18) & "1314" & MID(stIBAN,3,2) iban_1 = LEFT(iban_ganz,9) rest = CLNG(iban_1) MOD 97 if rest<10 then rest = "0" & rest
iban_2 = rest & MID(iban_ganz,10,7) rest = CLNG(iban_2) MOD 97 if rest<10 then rest = "0" & rest
iban_3 = rest & MID(iban_ganz,17,7) rest = CLNG(iban_3) MOD 97 if rest<10 then rest = "0" & rest
iban_4 = rest & MID(iban_ganz,24,7) rest = CLNG(iban_4) MOD 97 if (rest = 1) then pruefeIBAN = TRUE else pruefeIBAN = FALSE end if END FUNCTION |
Standard |
IBAN |
stIBAN |
|
Basic |
Main (Procedure) pruefeIBAN (Procedure) IBANcheck (Procedure) |
23 |
FUNCTION stIBAN(blz,kto,PZ AS string) AS String iban_ganz = blz & kto & "1314" & PZ
iban_1 = LEFT(iban_ganz,9) rest = CLNG(iban_1) MOD 97 if rest<10 then rest = "0" & rest
iban_2 = rest & MID(iban_ganz,10,7) rest = CLNG(iban_2) MOD 97 if rest<10 then rest = "0" & rest
iban_3 = rest & MID(iban_ganz,17,7) rest = CLNG(iban_3) MOD 97 if rest<10 then rest = "0" & rest
iban_4 = rest & MID(iban_ganz,24,7) rest = CLNG(iban_4) MOD 97 if rest<10 then rest = "0" & rest
iban_PZ = 98-CSTR(rest) stIBAN = "DE" & iban_PZ & blz & kto END FUNCTION |
Standard |
Infos |
Info |
|
Basic |
1 - Mitglieder|Hilfe (Control) 2 - MitgliederAdressen|Hilfe (Control) 3 - MitgliederBankdaten|Hilfe (Control) 4 - MitgliedsAnteile|Hilfe (Control) 5a - RatenKonten|Hilfe (Control) 5b - ProjektKonten|Hilfe (Control) 5c - DividendenKonten|Hilfe (Control) 7a - MitgliederBriefe|Hilfe (Control) 7b - Mailmerge|Hilfe (Control) 8a - ListenDatenVerwaltung|Hilfe (Control) 8b - Grundeinstellungen|Hilfe (Control) 8c - ProjekteEinstellungen|Hilfe (Control) 8d - DividendenZentrale|Hilfe (Control) 8e - SteuerDaten|Hilfe (Control) 8f - BZStEinstellungen|Hilfe (Control) 8g - BZStOnline|Hilfe (Control) 8h - SEPAEinstellungen|Hilfe (Control) 8i - Ueberweisungen|Hilfe (Control) 8j - IBAN|Hilfe (Control) |
48 |
Sub Info(oEvent AS OBJECT) DIM stTag AS STRING stTag = oEvent.Source.Model.Tag Select Case stTag Case "1" Call Info_Mitglieder Case "2" Call Info_MitgliederAdressen Case "3" Call Info_MitgliederBankdaten Case "4" Call Info_Mitgliedsanteile Case "5a" Call Info_RatenKonten Case "5b" Call Info_ProjektKonten Case "5c" Call Info_DividendenKonten Case "6" Call Info_StromGas Case "7a" Call Info_Mitgliederbriefe Case "7b" Call Info_Mailmerge Case "8a" Call Info_Listendaten Case "8b" Call Info_Grundeinstellungen Case "8c" Call Info_ProjekteEinstellungen Case "8d" Call Info_Dividendenzentrale Case "8e" Call Info_Steuerdaten Case "8f" Call Info_BZStEinstellungen Case "8g" Call Info_BZSt_Online Case "8h" Call Info_SEPA_Einstellungen Case "8i" Call Info_Ueberweisungen Case "9c" Call Info_StromGas Case Else msgbox "Hilflos." End Select End Sub |
Standard |
Infos |
Info_BZSt_Online |
|
Basic |
Info (Procedure) |
15 |
Sub Info_BZSt_Online stText = "Erzeugung der csv-Dateien für den Datenaustausch mit dem BZSt." stText=stText & chr(10) stText=stText & chr(10) & "Die Beschriftung der Schaltflächen gibt den Namen der" stText=stText & chr(10) & " dazugehörigen Abfrage und den Namen" stText=stText & chr(10) & " der produzierten csv-Datei an." stText=stText & chr(10) stText=stText & chr(10) & "Die csv-Dateien sollten vor der Einreichung mit einem" stText=stText & chr(10) & "Texteditor, z.B. notepad++ überprüft werden." stText=stText & chr(10) stText=stText & chr(10) & "Vor den Import der Antwort-Datei müssen in der Tabelle ""SteuerDaten"" eventuell" stText=stText & chr(10) & " noch fehlende Mitgliedsnummern (von neuen Mitgliedern) ergänzt werden." stText=stText & chr(10) msgbox (stText,0+64,"Formular 8g-BZStOnline") End Sub |
Standard |
Infos |
Info_BZStEinstellungen |
|
Basic |
Info (Procedure) |
10 |
Sub Info_BZStEinstellungen stText = "Die Tabelle Fix-KiSt enthält die für BZSt-Abfragen verwendbaren Variablen." stText=stText & chr(10) stText=stText & chr(10) & "Als Ordnungskriterium wird hier immer die Mitgliedsnummer verwendet." stText=stText & chr(10) stText=stText & chr(10) & "Anfragedatum und Grund der Anfrage werden im" stText=stText & chr(10) & " Formular 8g-BZStOnline festgelegt." stText=stText & chr(10) msgbox (stText,0+64,"Formular 8f-BZStEinstellungen") End Sub |
Standard |
Infos |
Info_DividendenKonten |
|
Basic |
Info (Procedure) |
9 |
Sub Info_DividendenKonten stText=stText & chr(10) & "VID 1 und 2: Einträge nur von 8d-DividendenZentrale." stText=stText & chr(10) & "VID 3 und 4: unbedingt mit TagEintrag und TagAblauf eintragen!" stText=stText & chr(10) stText=stText & chr(10) & "Überblick über die Nichtveranlagungs-Bescheinigungen und" stText=stText & chr(10) & "Freistellungsaufträge im Formular ""8e-SteuerDaten""." stText=stText & chr(10) msgbox (stText,0+64,"Formular 5c-DividendenKonten") End Sub |
Standard |
Infos |
Info_Dividendenzentrale |
|
Basic |
Info (Procedure) |
18 |
Sub Info_Dividendenzentrale stText = "Von hier aus werden die nach einem Beschluss der Generalversammlung" stText=stText & chr(10) & " fälligen Auschüttungen auf die Genossenschaftsnateile" stText=stText & chr(10) & " berechnet und in die Dividendenkonten und in" stText=stText & chr(10) & " die Anteilekonten der Mitglieder eingetragen." stText=stText & chr(10) stText=stText & chr(10) & "Ebenso werden die Zinsansprüche aus Mitgliederdarlehen" stText=stText & chr(10) & " berechnet und in die Projektdaten und Dividendenkonten eingetragen." stText=stText & chr(10) stText=stText & chr(10) & "Diese Vorgänge sind nur durch direkte Eingriffe in" stText=stText & chr(10) & " die Datenbanktabellen oder Enzelarbeit an den betroffenen Konten wieder rückgängig zu machen." stText=stText & chr(10) & " Deshalb ist hier größte Vorsicht geboten!" stText=stText & chr(10) stText=stText & chr(10) & "Im Zweifel schreiben Sie bitte" stText=stText & chr(10) & " eine kurze Email-Nachfrage an genobase@friege.de" stText=stText & chr(10) msgbox (stText,0+64,"Formular 8d-DividendenZentrale") End Sub |
Standard |
Infos |
Info_Grundeinstellungen |
|
Basic |
Info (Procedure) |
16 |
Sub Info_Grundeinstellungen stText = "Anpassungen an die Gegebenheiten der Genossenschaft" stText=stText & chr(10) stText=stText & chr(10) & "Die Vorgangsnummern dürfen nicht geändert oder gelöscht werden," stText=stText & chr(10) & "weil damit auch bestimme Mechanismen im Programm verknüpf sind!" stText=stText & chr(10) & "Lediglich die Texte/Satzungsparagraphen sollten angepasst werden." stText=stText & chr(10) stText=stText & chr(10) & "Die Spalte ""nicht mehr"" dient der klaren Unterscheidung" stText=stText & chr(10) & "der Personen mit Mitgliedschaft von den ehemaligen Mitgliedern." stText=stText & chr(10) stText=stText & chr(10) & "Sollten durch eine Änderung im Genossenschaftgesetz weitere Vorgänge" stText=stText & chr(10) & "dokumentiert werden müssen, schreiben Sie bitte eine" stText=stText & chr(10) & "kurze Email-Nachfrage an genobase@friege.de" stText=stText & chr(10) msgbox (stText,0+64,"Formular 8b-GrundEinstellungen") End Sub |
Standard |
Infos |
Info_Interessenten |
|
Basic |
9a - Interessenten|Hilfe (Control) |
13 |
Sub Info_Interessenten stText = "Aufnahme neuer InteressentInnen" stText=stText & chr(10) stText=stText & chr(10) & "ID wird automatisch vergeben." stText=stText & chr(10) & "Bitte nach Eintrag eines neuen Interessenten oder" stText=stText & chr(10) & "Korrektur von Eintragungen immer einmal" stText=stText & chr(10) & "in eine andere Zeile gehen, um die Änderungen zu speichern." stText=stText & chr(10) stText=stText & chr(10) & "Datensätze können mit Rechtsklick->Zeilen löschen" stText=stText & chr(10) & "entsorgt werden." stText=stText & chr(10) msgbox (stText,0+64,"Formular 9a-Interessenten") End Sub |
Standard |
Infos |
Info_Listendaten |
|
Basic |
Info (Procedure) |
15 |
Sub Info_Listendaten stText = "Auswahllisten für Adress- und Kontakt-Angaben" stText=stText & chr(10) & " für Mitglieder UND Interessenten" stText=stText & chr(10) stText=stText & chr(10) & "Durch die alphabetische Sortierung fallen" stText=stText & chr(10) & " Doppeleinträge schnell auf." stText=stText & chr(10) stText=stText & chr(10) & "Vor dem Löschen eines Doppeleintrags sollte in der Tabelle" stText=stText & chr(10) & " ""Adressen"" bzw. ""Kontakte"" nachgeschaut werden," stText=stText & chr(10) & " bei welchen Mitlgiedsnummern deren ID schon in Benutzung ist." stText=stText & chr(10) & " Nach dem Löschen HIER IN DIESEM FORMULAR muss dann" stText=stText & chr(10) & " bei den Mitgliedern die nun fehlende Angabe nachgetragen werden." stText=stText & chr(10) msgbox (stText,0+64,"Formular ListenDatenVerwaltung") End Sub |
Standard |
Infos |
Info_Mailmerge |
|
Basic |
Info (Procedure) |
13 |
Sub Info_Mailmerge stText = "Erzeugung der csv-Dateien für Thunderbird-Mailmerge" stText=stText & chr(10) stText=stText & chr(10) & "Die Beschriftung der Schaltflächen gibt den Namen der" stText=stText & chr(10) & " dazugehörigen Abfrage und den Namen" stText=stText & chr(10) & " der produzierten csv-Datei an." stText=stText & chr(10) stText=stText & chr(10) & "Bei Bedarf helfe ich gerne bei der Erstellung" stText=stText & chr(10) & " weiterer Abfragen und Schaltflächen:" stText=stText & chr(10) & "=> kurze Email-Nachfrage an genobase@friege.de" stText=stText & chr(10) msgbox (stText,0+64,"Formular 7b-Mailmerge") End Sub |
Standard |
Infos |
Info_Mitglieder |
|
Basic |
Info (Procedure) |
21 |
Sub Info_Mitglieder stText = "Aufnahme neuer Mitglieder, Vergabe der Mitgliedsnummer." stText=stText & chr(10) stText=stText & chr(10) & "Mitgliedsnummern werden niemals neu vergeben!" stText=stText & chr(10) & " (siehe Vorgänge im Formular ""4-MitgliedsAnteile""!" stText=stText & chr(10) stText=stText & chr(10) & "Namens-Angaben sollten zu den BZSt-Vorgaben kompatibel sein:" stText=stText & chr(10) & "- Es dürfen weder unter Nachname noch unter Vorname" stText=stText & chr(10) & "irgendwelche Titel eingetragen werden!" stText=stText & chr(10) & "- Auch bei Eheleuten ist nur eine/r VertragsinhaberIn." stText=stText & chr(10) & "- Geburtsdatum muss korrekt angegeben werden." stText=stText & chr(10) stText=stText & chr(10) & "Auch bei Ausscheiden eines Mitglieds" stText=stText & chr(10) & " müssen Mitgliedsnummer und Namen erhalten bleiben." stText=stText & chr(10) stText=stText & chr(10) & "Bitte nach Eintrag eines neuen Mitglieds oder" stText=stText & chr(10) & " Korrektur von Eintragungen immer einmal" stText=stText & chr(10) & " in eine andere Zeile gehen, um die Änderungen zu speichern." stText=stText & chr(10) msgbox (stText,0+64,"Formular 1-Mitglieder") End Sub |
Standard |
Infos |
Info_MitgliederAdressen |
|
Basic |
Info (Procedure) |
9 |
Sub Info_MitgliederAdressen stText = "Diese Angaben sollten zu den BZSt-Vorgaben kompatibel sein:" stText=stText & chr(10) & "Insbesondere müssen die PLZ und Ort des Meldewohnsitzes" stText=stText & chr(10) & " (Hauptwohnsitz) korrekt angegeben werden." stText=stText & chr(10) & "Als Hausnummer ist nur eine Zahl zulässig," stText=stText & chr(10) & " weitere Angaben gehören unter ""Zusatz""." stText=stText & chr(10) msgbox (stText,0+64,"Formular MitgliederAdressen") End Sub |
Standard |
Infos |
Info_MitgliederBankdaten |
|
Basic |
Info (Procedure) |
9 |
Sub Info_MitgliederBankdaten stText = "Wichtig sind KontoinhaberIn und die richtige IBAN." stText=stText & chr(10) & "IBAN kann mit Leerstellen lesbarer gemacht werden:" stText=stText & chr(10) & "DEnn nnnn nnnn nnnn nnnn nn" stText=stText & chr(10) & "" stText=stText & chr(10) & "Vor jeder (Dividenden-)Überweisung sollten die IBANs kontrolliert werden." stText=stText & chr(10) msgbox (stText,0+64,"Formular MitgliederBankdaten") End Sub |
Standard |
Infos |
Info_Mitgliederbriefe |
|
Basic |
Info (Procedure) |
10 |
Sub Info_Mitgliederbriefe stText = "Mögliche Verwendung einer weiblich und einer männlich/neutral" stText=stText & chr(10) & " formulierten Brief-Vorlage mit dazugehörigen Abfragen" stText=stText & chr(10) & " ergibt eine Fehlermeldung wegen eines leeren Datensatzes." stText=stText & chr(10) stText=stText & chr(10) & "Wird die Frage ""Trotzdem weitere Briefe erstellen?"" " stText=stText & chr(10) & " mit JA beantwortet unterbleiben weitere Fehlermeldungen." stText=stText & chr(10) msgbox (stText,0+64,"Formular 7a-MitgliederBriefe") End Sub |
Standard |
Infos |
Info_Mitgliedsanteile |
|
Basic |
Info (Procedure) |
15 |
Sub Info_Mitgliedsanteile stText =stText & "TagEintrag=Tag des Vorstandsbeschlusses," stText=stText & chr(10) & "TagZahlung=Tag des vollständigen Zahlungseingangs." stText=stText & chr(10) stText=stText & chr(10) & "VID 12 (Ratenzahlung): für Neuanlage nur Tag.Eintrag und ggf. Bemerkungen eintragen." stText=stText & chr(10) & " Dann Schaltfläche ""Ratendaten anlegen"" betätigen und alles weitere im Ratenkonto." stText=stText & chr(10) & " Tag der letzten Rate als Tag.Zahlung bei zugehöriger VID=2 bzw. VID=3 eintragen." stText=stText & chr(10) stText=stText & chr(10) & "VID 20: Einträge werden nur von 8d-DividendenZentrale vorgenommen." stText=stText & chr(10) stText=stText & chr(10) & "VID 50: nur Tag.Eintrag und ggf. Bemerkungen eintragen," stText=stText & chr(10) & " alle weiteren Angaben werden in 5c-Dividendenkonten eingetragen." stText=stText & chr(10) msgbox (stText,0+64,"Formular 4-MitgliedsAnteile") End Sub |
Standard |
Infos |
Info_ProjekteEinstellungen |
|
Basic |
Info (Procedure) |
8 |
Sub Info_ProjekteEinstellungen stText = "Grundlagen für Mitglieder-Projekte, z.B. Mitgliederdarlehen" stText=stText & chr(10) stText=stText & chr(10) & "Die Projektnummer ""0"" ist für die Mitgliedschaft reserviert," stText=stText & chr(10) & " darf also nicht für ein reales Projekt vergeben werden!" stText=stText & chr(10) msgbox (stText,0+64,"Formular 8c-ProjekteEinstellungen") End Sub |
Standard |
Infos |
Info_ProjektKonten |
|
Basic |
Info (Procedure) |
8 |
Sub Info_ProjektKonten stText = "TagEintrag=Tag des Vorstandsbeschlusses" stText=stText & chr(10) & "TagZahlung=Tag des vollständigen Zahlungsein-/ausgangs." stText=stText & chr(10) stText=stText & chr(10) & "P-ID und V-ID: Festlegungen im Formular 8c-ProjekteEinstellungen." stText=stText & chr(10) msgbox (stText,0+64,"Formular 5b-ProjektKonten") End Sub |
Standard |
Infos |
Info_RatenKonten |
|
Basic |
Info (Procedure) |
10 |
Sub Info_RatenKonten stText = "Die Neuanlage (2-Sollstellung) wird mit der Schaltfläche im 4-Anteilekonto durchgeführt." stText=stText & chr(10) & "Der abzahlende Betrag (ggf. mit Eintrittsgeld) wird " stText=stText & chr(10) & " mit Minuszeichen manuell in dieser Zeile eingetragen." stText=stText & chr(10) stText=stText & chr(10) & "Tag des Eingangs der letzten Rate (6-Anteil(e) fertig) im Anteilekonto" stText=stText & chr(10) & " manuell als Tag.Zahlung bei zugehöriger VID=2 bzw. VID=3 eintragen." stText=stText & chr(10) msgbox (stText,0+64,"Formular 5a-RatenKonten") End Sub |
Standard |
Infos |
Info_SEPA_Einstellungen |
|
Basic |
Info (Procedure) |
17 |
Sub Info_SEPA_Einstellungen stText = "Vorbereitung der Überweisungs-Aktionen" stText=stText & chr(10) stText=stText & chr(10) & "Jede Überweisungsaktion erfolgt auf Grundlage eines Datensatzes" stText=stText & chr(10) & " in der Dividenden-Historie (Formular 8d-DividendenZentrale)." stText=stText & chr(10) & " Dem werden hier notwendige Daten für die Einreichung der xml-Datei" stText=stText & chr(10) & " hinzugefügt." stText=stText & chr(10) stText=stText & chr(10) & "Für misslungene (Einzel-)Überweisungen sollte die Wiederholung" stText=stText & chr(10) & " denselben Datensatz der Dividenden-Historie benutzen." stText=stText & chr(10) & " Eine entsrechende Kennzeichnung könnte dann im Feld" stText=stText & chr(10) & " MSGID oder PMTINFID erfolgen." stText=stText & chr(10) stText=stText & chr(10) & "Im Zweifel schreiben Sie bitte" stText=stText & chr(10) & "eine kurze Email-Nachfrage an genobase@friege.de" msgbox (stText,0+64,"Formular 8b-GrundEinstellungen") End Sub |
Standard |
Infos |
Info_Steuerdaten |
|
Basic |
Info (Procedure) |
12 |
Sub Info_Steuerdaten stText = "Steuerliche ID-Nummer und Kirchensteuerangaben werden vom Formular" stText=stText & chr(10) & " 8g-BZStOnline eingetragen." stText=stText & chr(10) & " Dazu müssen in der Tabelle ""SteuerDaten"" eventuell" stText=stText & chr(10) & " noch fehlende Mitgliedsnummern (von neuen Mitgliedern) vorher ergänzt werden." stText=stText & chr(10) stText=stText & chr(10) & "Freistellungsaufträge und Nichtveranlagungsbescheinigungen" stText=stText & chr(10) & " werden in 5c-Dividendenkonten eingetragen" stText=stText & chr(10) & " und mit ""Steuerdaten übernehmen"" hierher übertragen." stText=stText & chr(10) msgbox (stText,0+64,"Formular 8e-Steuerdaten") End Sub |
Standard |
Infos |
Info_StromGas |
|
Basic |
6 - MitgliederStromGas|Hilfe (Control) 9c - InteressentenStromGas|Hilfe (Control) Info (Procedure) |
11 |
Sub Info_StromGas stText = "Daten nur zur eigenen Dokumentation und Abgleich mit den Daten des Versorgers." stText=stText & chr(10) stText=stText & chr(10) & "Status ""Familie"": kein eigener Vertrag, also Anzahl der Zähler = 0" stText=stText & chr(10) & "- dient nur der Verhinderung von unsinniger Werbung!" stText=stText & chr(10) stText=stText & chr(10) & "Ist VertragsinhaberIn kein Mitglied, muss er/sie" stText=stText & chr(10) & " im Formular ""9c-InteresssentenStromGas"" eingetragen werden." stText=stText & chr(10) msgbox (stText,0+64,"Formular Strom-/Gasverträge") End Sub |
Standard |
Navigation |
Ansicht100 |
|
Basic |
Hauptformular_oeffnen (Procedure) Formular_Direktstart (Procedure) Zu_Formular_von_Formular (Procedure) Zu_Formular_von_Formular_mit_Ordner (Procedure) |
8 |
sub Ansicht100 dim document as object dim dispatcher as object document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") dispatcher.executeDispatch(document, ".uno:Zoom100Percent", "", 0, Array()) end sub |
Standard |
Navigation |
Fenster_mini |
|
Basic |
Formular_Direktstart (Procedure) |
10 |
SUB Fenster_mini DIM oFrame AS OBJECT DIM oWin AS OBJECT wait 10 oFrame = StarDesktop.getCurrentFrame() oWin = oFrame.getContainerWindow() wait 10 oWin. IsMinimized = true END SUB |
Standard |
Navigation |
Fenstergroesse |
|
Basic |
StartFormular_close (Procedure) |
17 |
SUB Fenstergroesse DIM oFrame AS OBJECT DIM oWin AS OBJECT DIM oLayoutMng AS OBJECT DIM aElemente() wait 100 oFrame = StarDesktop.getCurrentFrame() oWin = oFrame.getContainerWindow() wait 10 oWin.setPosSize(0,0,800,600,15) END SUB |
Standard |
Navigation |
Formular_Direktstart |
|
Basic |
GENOBASEv40x_LEER.odb (Database) |
16 |
SUB Formular_Direktstart DIM oDatenquelle AS OBJECT wait 1000 oDatenquelle = ThisDatabaseDocument.CurrentController If NOT ( oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF Fenster_mini Symbolleisten_Ausblenden Ansicht100 ThisDatabaseDocument.FormDocuments.getByName( "0 - START").open END SUB |
Standard |
Navigation |
Hauptformular_oeffnen |
|
Basic |
|
5 |
SUB Hauptformular_oeffnen Symbolleisten_Ausblenden Ansicht100 ThisDatabaseDocument.FormDocuments.getByName( "0 - START" ).open END SUB |
Standard |
Navigation |
StartFormular_close |
|
Basic |
0 - START|Schaltfläche_fertig (Control) |
7 |
SUB StartFormular_close DIM stTag AS STRING ThisDatabaseDocument.FormDocuments.getByName( "0 - START" ).close Fenstergroesse Symbolleisten_Einblenden END SUB |
Standard |
Navigation |
Symbolleisten_Ausblenden |
|
Basic |
Hauptformular_oeffnen (Procedure) Formular_Direktstart (Procedure) Zu_Formular_von_Formular (Procedure) |
23 |
SUB Symbolleisten_Ausblenden DIM oFrame AS OBJECT DIM oWin AS OBJECT DIM oLayoutMng AS OBJECT DIM aElemente() oFrame = StarDesktop.getCurrentFrame() oFrame.setTitle "Mitglieder und InteressentInnen"
oLayoutMng = oFrame.LayoutManager aElemente = oLayoutMng.getElements() FOR i = LBound(aElemente) TO UBound(aElemente) IF aElemente(i).ResourceURL = "private:resource/toolbar/formsnavigationbar" THEN ELSE oLayoutMng.hideElement( aElemente(i).ResourceURL) END IF NEXT
END SUB |
Standard |
Navigation |
Symbolleisten_Ausblenden_I |
|
Basic |
|
23 |
SUB Symbolleisten_Ausblenden_I DIM oFrame AS OBJECT DIM oWin AS OBJECT DIM oLayoutMng AS OBJECT DIM aElemente()
oFrame = StarDesktop.getCurrentFrame() oFrame.setTitle "InteressentInnen-Verwaltung"
oLayoutMng = oFrame.LayoutManager aElemente = oLayoutMng.getElements() FOR i = LBound(aElemente) TO UBound(aElemente) IF aElemente(i).ResourceURL = "private:resource/toolbar/formsnavigationbar" THEN ELSE oLayoutMng.hideElement( aElemente(i).ResourceURL) END IF NEXT
END SUB |
Standard |
Navigation |
Symbolleisten_Ausblenden_M |
|
Basic |
|
24 |
SUB Symbolleisten_Ausblenden_M DIM oFrame AS OBJECT DIM oWin AS OBJECT DIM oLayoutMng AS OBJECT DIM aElemente()
oFrame = StarDesktop.getCurrentFrame() oFrame.setTitle "Mitgliederverwaltung"
oLayoutMng = oFrame.LayoutManager aElemente = oLayoutMng.getElements() FOR i = LBound(aElemente) TO UBound(aElemente)
IF aElemente(i).ResourceURL = "private:resource/toolbar/formsnavigationbar" THEN
ELSE oLayoutMng.hideElement( aElemente(i).ResourceURL) END IF NEXT
END SUB |
Standard |
Navigation |
Symbolleisten_Einblenden |
|
Basic |
Über...|Schaltfläche 1 (Control) StartFormular_close (Procedure) |
20 |
SUB Symbolleisten_Einblenden DIM oFrame AS OBJECT DIM oLayoutMng AS OBJECT DIM aElemente() wait 100 oFrame = StarDesktop.getCurrentFrame() oLayoutMng = oFrame.LayoutManager aElemente = oLayoutMng.getElements()
oLayoutMng.showElement("private:resource/menubar/menubar") END SUB |
Standard |
Navigation |
Zu_Formular_von_Formular |
|
Basic |
0 - START|Schaltfläche_Back (Control) 0 - START|Schaltfläche_Interessenten_Briefe (Control) 0 - START|Schaltfläche_Briefe (Control) 0 - START|Schaltfläche_StromGas_Mitglieder (Control) 0 - START|Schaltfläche_Bankdaten (Control) 0 - START|Schaltfläche_StromGas_Interessenten (Control) 0 - START|Schaltfläche_Aufnahme (Control) 0 - START|Schaltfläche_Kontakte_Interessenten (Control) 0 - START|Schaltfläche_Dividenden (Control) 0 - START|Schaltfläche_Anteile (Control) 0 - START|Schaltfläche_LDV (Control) 0 - START|Schaltfläche_Raten (Control) 0 - START|Schaltfläche_Aufnahme_Interessenten (Control) 0 - START|Schaltfläche_Kontakte_Mitglieder (Control) 0 - START|Schaltfläche_Projekte (Control) 0 - START|Schaltfläche_MMT (Control) 1 - Mitglieder|Schaltfläche zuAdressen (Control) 1 - Mitglieder|Schaltfläche START (Control) 2 - MitgliederAdressen|Schaltfläche Bankdaten (Control) 2 - MitgliederAdressen|Schaltfläche Listendaten (Control) 2 - MitgliederAdressen|Schaltfläche START (Control) 3 - MitgliederBankdaten|Schaltfläche Anteile (Control) 3 - MitgliederBankdaten|Schaltfläche START (Control) 4 - MitgliedsAnteile|zumDividendenkonto (Control) 4 - MitgliedsAnteile|zumProjektekonto (Control) 4 - MitgliedsAnteile|Schaltfläche START (Control) 4 - MitgliedsAnteile|zumRatenkonto (Control) 5a - RatenKonten|Schaltfläche START (Control) 5a - RatenKonten|zumAnteilekonto (Control) 5b - ProjektKonten|zumDividendenkonto (Control) 5b - ProjektKonten|Schaltfläche START (Control) 5b - ProjektKonten|zumAnteilekonto (Control) 5c - DividendenKonten|zumProjektekonto (Control) 5c - DividendenKonten|zuSteuerdaten (Control) 5c - DividendenKonten|zumAnteilekonto (Control) 5c - DividendenKonten|Schaltfläche START (Control) 6 - MitgliederStromGas|Schaltfläche START (Control) 7a - MitgliederBriefe|Schaltfläche START (Control) 7b - Mailmerge|Schaltfläche START1 (Control) 8 - BACKOFFICE|Schaltfläche_IBAN (Control) 8 - BACKOFFICE|Schaltfläche_Einstellungen Projekte (Control) 8 - BACKOFFICE|Schaltfläche_SteuerDaten (Control) 8 - BACKOFFICE|Schaltfläche_BZStGrundeinstellungen (Control) 8 - BACKOFFICE|Schaltfläche_Grundeinstellungen (Control) 8 - BACKOFFICE|Schaltfläche_Dividenden (Control) 8 - BACKOFFICE|Schaltfläche_SEPAGrundeinstellungen (Control) 8 - BACKOFFICE|Schaltfläche_BZStOnline (Control) 8 - BACKOFFICE|Schaltfläche_SEPA (Control) 8 - BACKOFFICE|Schaltfläche_Zurueck (Control) 8a - ListenDatenVerwaltung|Schaltfläche START (Control) 8b - Grundeinstellungen|Schaltfläche BACK (Control) 8c - ProjekteEinstellungen|Schaltfläche BACK (Control) 8d - DividendenZentrale|zuSteuerdaten (Control) 8d - DividendenZentrale|Schaltfläche BACK (Control) 8e - SteuerDaten|SchaltflächezuDividZ (Control) 8e - SteuerDaten|zumDividendenkonto (Control) 8e - SteuerDaten|Schaltfläche BACK (Control) 8f - BZStEinstellungen|Schaltfläche BACK (Control) 8g - BZStOnline|zuSteuerdaten (Control) 8g - BZStOnline|Schaltfläche BACK (Control) 8h - SEPAEinstellungen|zuUeberweisungen (Control) 8h - SEPAEinstellungen|Schaltfläche BACK (Control) 8i - Ueberweisungen|zumDividendenkonto (Control) 8i - Ueberweisungen|zuSEPAEinstellungen (Control) 8i - Ueberweisungen|Schaltfläche BACK (Control) 8j - IBAN|zumBankDaten (Control) 8j - IBAN|Schaltfläche BACK (Control) 9a - Interessenten|Schaltfläche zuAdressen (Control) 9a - Interessenten|Schaltfläche START (Control) 9b - InteressentenAdressen|Schaltfläche START (Control) 9b - InteressentenAdressen|Schaltfläche zu StromGas (Control) 9b - InteressentenAdressen|Schaltfläche Listendaten (Control) 9c - InteressentenStromGas|Schaltfläche START (Control) 9d - InteressentenBriefe|Schaltfläche START (Control) Über...|Schaltfläche START1a (Control) |
12 |
SUB Zu_Formular_von_Formular(oEvent AS OBJECT) Ansicht100 DIM stTag AS STRING stTag = oEvent.Source.Model.Tag aForms() = Split(stTag, ",") ThisDatabaseDocument.FormDocuments.getByName( Trim(aForms(0)) ).open Symbolleisten_Ausblenden ThisDatabaseDocument.FormDocuments.getByName( Trim(aForms(1)) ).close END SUB |
Standard |
Navigation |
Zu_Formular_von_Formular_mit_Ordner |
|
Basic |
|
21 |
SUB Zu_Formular_von_Formular_mit_Ordner(oEvent AS OBJECT) Ansicht100 DIM stTag AS STRING stTag = oEvent.Source.Model.Tag aForms() = Split(stTag, ",") aForms1() = Split(aForms(0),"/") aForms2() = Split(aForms(1),"/") IF UBound(aForms1()) = 0 THEN ThisDatabaseDocument.FormDocuments.getByName( Trim(aForms1(0)) ).open ELSE ThisDatabaseDocument.FormDocuments.getByName( Trim(aForms1(0)) ).getByName( Trim(aForms1(1)) ).open END IF IF UBound(aForms2()) = 0 THEN ThisDatabaseDocument.FormDocuments.getByName( Trim(aForms2(0)) ).close ELSE ThisDatabaseDocument.FormDocuments.getByName( Trim(aForms2(0)) ).getByName( Trim(aForms2(1)) ).close END IF END SUB |
Standard |
Projekte |
ProjektdatenEintragen |
|
Basic |
8d - DividendenZentrale|SchaltflächeProjekte (Control) |
191 |
SUB ProjektdatenEintragen(oEvent AS OBJECT) stSerie = oEvent.Source.Model.Tag oPForm = oEvent.Source.Model.Parent oConnection = oPForm.activeConnection() oSQL_Statement = oConnection.createStatement() oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Start") oFeld = oForm.getByName("TabellenElementDividendenHistorie") oSpalte=oFeld.getByName("DatF_TagEintrag") TagEintrag = oSpalte.CurrentValue oSpalte=oFeld.getByName("DatF_TagZahlung") TagZahlung = oSpalte.CurrentValue oSpalte=oFeld.getByName("NF_AusProzent") AusProzent = oSpalte.CurrentValue oSpalte=oFeld.getByName("NF_KEStproz") KEStProzent = oSpalte.CurrentValue oSpalte=oFeld.getByName("NF_Soliproz") SoliProzent = oSpalte.CurrentValue oSpalte=oFeld.getByName("NF_PV") PVorgangID = oSpalte.CurrentValue oSpalte=oFeld.getByName("TF_VWZ") VWZweck = oSpalte.CurrentValue oSpalte=oFeld.getByName("NF_ProjektID") stAktProjekt = oSpalte.CurrentValue msgbox "aktuelle Projektnummmer: " & staktProjekt f_dat = TagEintrag.Year & "-" & TagEintrag.Month & "-" & TagEintrag.Day f_datZ = TagZahlung.Year & "-" & TagZahlung.Month & "-" & TagZahlung.Day f_ausproz = join(split(AusProzent, ","), ".") f_kestproz = join(split(KEStProzent, ","), ".") f_soliproz = join(split(SoliProzent, ","), ".") oSQL_StatementmNRD = oConnection.createStatement() oSQL_StatementmNRD.ResultSetType =com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE stSql_mNRD = " SELECT ""Mitgliedsnummer"" FROM ""ProjektDaten"" WHERE ""ProjektDaten"".""ProjektID"" = '" + staktProjekt + "' AND ""ProjektDaten"".""ProjVID"" = '1' " oResultmNRD = oSQL_StatementmNRD.executeQuery(stSql_mNRD) WHILE oResultmNRD.next WEND anzNRD = oResultmNRD.Row - 1 msgbox "Anzahl der Mitglieder mit Projektnummer " & staktProjekt & " : " & anzNRD DIM mitNRDListe(anzNRD) oResultmNRD.first jn=1 mitNRDListe(jn) = oResultmNRD.getInt(1) WHILE oResultmNRD.next jn = jn + 1 mitNRDListe(jn) = oResultmNRD.getInt(1) WEND stSql = "SELECT * FROM ""von_bis"" WHERE ""ID"" = '0'" oResult = oSQL_Statement.executeQuery(stSql) oResult.next oColumns = oResult.columns() IF oColumns.hasByName("von") THEN indexvon = oColumns.findColumn("von") stvon = oResult.getInt(indexvon) IF oColumns.hasByName("bis") THEN indexbis = oColumns.findColumn("bis") stbis = oResult.getInt(indexbis) msgbox stvon & " - " & stbis
janein = msgbox("Sind wirklich ALLE Nichtveranlagungsdaten" & Chrund3) & "und Freistellungsaufträge" & Chreingetragenngetragen Im,256+32+4,"Im Zweifel bitte JETZT NEIN sagen!") if janein = 7 then goto Labelraus
i = 1 txanzahl = 0 stMitglListe = "Einträge für Mitgliedsnummer " & chr(10) DO WHILE (i < anzNRD+1) stMitgl = mitNRDListe(i)
IF (stMitgl >= stvon) AND (stMitgl <= stbis) THEN
stSql_VID1 = " SELECT * FROM ""ProjektDaten"" WHERE ""ProjVID"" = '1' AND ""Mitgliedsnummer"" = '" + stMitgl + "' AND ""ProjektID"" = '" + staktProjekt + "' " oResult = oSQL_Statement.executeQuery(stSql_VID1) oResult.next
oColumns = oResult.columns() IF oColumns.hasByName("Betrag") THEN inIndex = oColumns.findColumn("Betrag") stBetrag=oResult.getInt(inIndex) msgbox "Mitglied " & stMitgl & " Betrag: " & stBetrag Ausschuettung = stBetrag * AusProzent / 100 f_kapertrag = join(split(Ausschuettung, ","), ".") stSql = "INSERT INTO ""ProjektDaten"" (""Mitgliedsnummer"",""ProjektID"",""ProjVID"",""Datum"",""Betrag"",""ProjVID"")" stSql = stSql & " VALUES('" + stMitgl + "','" + stAktProjekt + "','3','" + f_dat + "','" + f_kapertrag + "','" + PVorgangID + "')" oResult = oSQL_Statement.executeQuery(stSql)
stSql = "SELECT * FROM ""SteuerDaten"" WHERE ""Mitgliedsnummer"" = " + i oResult = oSQL_Statement.executeQuery(stSql) While oResult.next MitNr = oResult.getInt(1) KiStproz = oResult.getFloat(4) isNV = oResult.getBoolean(5) isFSA = oResult.getBoolean(7) FSARest = oResult.getFloat(9) Wend
InAnspruch = 0 SPAusschuettung = Ausschuettung if isFSA then FSARestneu = FSARest - Ausschuettung if FSARestneu < 0 then FSARestneu = 0 SPAusschuettung = Ausschuettung - FSARest InAnspruch = FSARest else SPAusschuettung = 0 InAnspruch = Ausschuettung end if end if KESt = SPAusschuettung * KEStProzent / 100 KiSt = KESt * KiStproz / 100 SoliZu = KESt * SoliProzent / 100
KESt2 = KESt / (1 + (KiStproz / 100) * (KEStProzent / 100))
Auszahlung = Ausschuettung - KESt2 - SoliZu - KiSt f_kistproz = join(split(KiStproz, ","), ".") f_kist = join(split(KiSt, ","), ".") f_soli = join(split(SoliZu, ","), ".") InAnspruch = InAnspruch * (-1) f_fsa = join(split(InAnspruch, ","), ".") f_fsarest = join(split(FSARestneu, ","), ".") f_kest2 = join(split(KESt2, ","), ".") f_auszahl = join(split(Auszahlung, ","), ".") stSql = "INSERT INTO ""Dividenden"" (""Mitgliedsnummer"",""DividID"",""TagEintrag"",""KapErtr"",""KapErtrSt"",""Soli"",""KiSt"",""Kennung"",""Auszahlung"",""AusProzent"",""KEStproz"",""Soliproz"",""KiStproz"",""FSABetrag"",""ausgezahlt"",""ProjektID"")" stSql = stSql & " VALUES('" + stMitgl + "','2','" + f_dat + "','" + f_kapertrag + "','" + f_kest2 + "','" + f_soli + "','" + f_kist + "','" + VWZweck + "','" + f_auszahl + "','" + f_ausproz + "','"+ f_kestproz + "','" + f_soliproz + "','" + f_kistproz + "','" + f_fsa + "', FALSE,'" + stAktProjekt + "')"
oResult = oSQL_Statement.executeQuery(stSql) stMitglListe = stMitglListe & stMitgl & ", " txanzahl = txanzahl + 1 END IF i = i + 1 LOOP
Select Case txanzahl Case 0 msgbox ("Kein Datensatz geschrieben.",64,"Dividenden-Eintragung") Case 1 msgbox ("Ein Datensatz geschrieben.",64,"Dividenden-Eintragung") msgbox ("Einträge für Mitgliedsnummer " & stMitgl,64,"Dividenden-Eintragung") Case Else msgbox (txanzahl & " Datensätze geschrieben.",64,"Dividenden-Eintragung") msgbox (stMitglListe,64,"Dividenden-Eintragung") End Select
stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + stvon + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) oPForm.reload() wait 100
Labelraus: END SUB |
Standard |
Projekte |
ProjektID_lesen |
|
Basic |
8d - DividendenZentrale|TabellenElementDividendenHistorie (Control) |
39 |
SUB ProjektID_lesen(oEvent AS OBJECT) DIM stTag AS STRING stTag = oEvent.Source.Model.Tag DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oForm2 AS OBJECT DIM oFeld AS OBJECT DIM oButton0 AS OBJECT DIM oButton50 AS OBJECT DIM oSpalte AS OBJECT oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oSQL_Anweisung = oVerbindung.createStatement() oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Start") oFeld = oForm.getByName("TabellenElementDividendenHistorie") oSpalte=oFeld.getByName("NF_ProjektID") oForm2 = oDrawpage.forms.getByName("Formular_Serie") oButton0 = oForm2.getByName("SchaltflächeAnteile") oButton50 = oForm2.getByName("SchaltflächeProjekte") oButton0.EnableVisible = FALSE oButton50.EnableVisible = FALSE SELECT CASE oSpalte.CurrentValue CASE 0 oButton0.EnableVisible = TRUE CASE ELSE oButton50.EnableVisible = TRUE END SELECT
END SUB |
Standard |
Projekte |
test |
|
Basic |
|
235 |
SUB test
oPForm = oEvent.Source.Model.Parent oVerbindung = oPForm.activeConnection()
oSQL_Statement = oVerbindung.createStatement() stSql = " SELECT ""Integer"" FROM ""Projekt_aktID"" WHERE ""ID"" = 0 " oResult = oSQL_Statement.executeQuery(stSql) oResult.next stProjekt = oResult.getInt(1) msgbox "aktuelle Projektnummmer: " & stProjekt oSQL_Statement = oVerbindung.createStatement() oSQL_Statement.ResultSetType =com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE stSql = " SELECT ""Mitgliedsnummer"" FROM ""Anteile"" WHERE ""VorgangID"" = 50 ORDER BY ""Mitgliedsnummer"" " oResult = oSQL_Statement.executeQuery(stSql) WHILE oResult.next WEND anzProjekt = oResult.Row - 1 msgbox "Anzahl der Mitglieder mit Projekt ist " & anzProjekt DIM mitProjektListe(anzProjekt) oResult.first jn=1 mitProjektListe(jn) = oResult.getInt(1) WHILE oResult.next jn = jn + 1 mitProjektListe(jn) = oResult.getInt(1) msgbox jn & ": " & mitProjektListe(jn) WEND EXIT SUB
oEForm = oPForm.getByName("Ehemalige") soviele = oEForm.RowCount DIM negativListe(soviele) oEForm.reload() oEForm.first() stehemaligField = oEForm.findColumn("Mitgliedsnummer") ineg=0 negativListe(ineg) = oEForm.getInt(1) WHILE oEForm.next ineg = ineg + 1 negativListe(ineg) = oEForm.getInt(1) WEND
stSql = "SELECT ""Wert"" FROM ""Fixwerte"" WHERE ""Fixwerte"".""Art""=" + "'1Anteil'" oResult = oSQL_Statement.executeQuery(stSql) oResult.next Wert1Anteil = oResult.getFloat(1) DHZeile = DivHistoZeile() stSql = "SELECT * FROM ""DividendenHistorie"" WHERE ""ID""="+DHZeile+"" oResult = oSQL_Statement.executeQuery(stSql) oResult.next TagEintrag = oResult.getDate(2) TagZahlung = oResult.getDate(3) AusProzent = oResult.getFloat(4) VWZweck = oResult.getString(5) KEStProzent = oResult.getFloat(6) SoliProzent = oResult.getFloat(7) f_dat = TagEintrag.Year & "-" & TagEintrag.Month & "-" & TagEintrag.Day f_datZ = TagZahlung.Year & "-" & TagZahlung.Month & "-" & TagZahlung.Day f_ausproz = join(split(AusProzent, ","), ".") f_kestproz = join(split(KEStProzent, ","), ".") f_soliproz = join(split(SoliProzent, ","), ".")
stIDField = oPForm.findColumn("ID") stID = oPForm.getString(stIDField) stvonField = oPForm.findColumn("von") stvon = oPForm.getInt(stvonField) stbisField = oPForm.findColumn("bis") stbis = oPForm.getInt(stbisField) anzdiff = stbis - stvon +1 janein = msgbox("Wirklich die Daten mit ID=" & DHZeile & " in alle (außer übersprungene) " & anzdiff & " Konten durchführen?",256+32+4,"Überleg nochmal:") IF janein = 7 THEN EXIT SUB
staktuellField = oPForm.findColumn("aktuell") i = stvon oPForm.updateInt(staktuellField,i)
txanzahl=0
janein = msgbox("Sind wirklich ALLE Nichtveranlagungsdaten" & Chrund3) & "und Freistellungsaufträge" & Chreingetragenngetragen Im,256+32+4,"Im Zweifel bitte JETZT NEIN sagen!") if janein = 7 then goto Labelraus
DO WHILE i < stbis+1 drucken = TRUE j=0 WHILE (j < ineg + 1) if negativListe(j) = i then drucken = FALSE end if j=j+1 WEND IF NOT drucken THEN GOTO Labelnichtweiter ELSE stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + i + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) END IF txanzahl=txanzahl + 1 stSql = "SELECT ""Anteile"".""Mitgliedsnummer"", SUM( ""Anteile"".""AnteilePlusMinus"" ) ""AnteileSumme"" FROM ""Anteile"", ""von_bis"" WHERE ""Anteile"".""Mitgliedsnummer"" = ""von_bis"".""aktuell"" GROUP BY ""Anteile"".""Mitgliedsnummer""" oResult = oSQL_Statement.executeQuery(stSql) While oResult.next MitNr = oResult.getInt(1) AnteileSumme = oResult.getInt(2) Wend Ausschuettung = Wert1Anteil * AnteileSumme * AusProzent / 100 f_ausschuett = join(split(Ausschuettung, ","), ".") stSql = "INSERT INTO ""Anteile"" (""Mitgliedsnummer"",""VorgangID"",""TagEintrag"",""AnteileSaldo"",""AusProzent"",""Ausschuettung"")" stSql = stSql & " VALUES('" + MitNr + "','20','" + f_dat + "','" + AnteileSumme + "','" + f_ausproz + "','"+ f_ausschuett + "')" oResult = oSQL_Statement.executeQuery(stSql)
stSql = "SELECT * FROM ""SteuerDaten"" WHERE ""Mitgliedsnummer"" = " + i oResult = oSQL_Statement.executeQuery(stSql) While oResult.next MitNr = oResult.getInt(1) KiStproz = oResult.getFloat(4) isNV = oResult.getBoolean(5) isFSA = oResult.getBoolean(7) FSARest = oResult.getFloat(9) Wend
InAnspruch = 0 SPAusschuettung = Ausschuettung if isFSA then FSARestneu = FSARest - Ausschuettung if FSARestneu < 0 then FSARestneu = 0 SPAusschuettung = Ausschuettung - FSARest InAnspruch = FSARest else SPAusschuettung = 0 InAnspruch = Ausschuettung end if end if KESt = SPAusschuettung * KEStProzent / 100 KiSt = KESt * KiStproz / 100 SoliZu = KESt * SoliProzent / 100
KESt2 = KESt / (1 + (KiStproz / 100) * (KEStProzent / 100))
Auszahlung = Ausschuettung - KESt2 - SoliZu - KiSt f_kistproz = join(split(KiStproz, ","), ".") f_kist = join(split(KiSt, ","), ".") f_soli = join(split(SoliZu, ","), ".") InAnspruch = InAnspruch * (-1) f_fsa = join(split(InAnspruch, ","), ".") f_fsarest = join(split(FSARestneu, ","), ".") f_kest2 = join(split(KESt2, ","), ".") f_auszahl = join(split(Auszahlung, ","), ".") stSql = "INSERT INTO ""Dividenden"" (""ausgezahlt"",""Mitgliedsnummer"",""DividID"",""Kennung"",""TagEintrag"",""AnteileSaldo"",""KEStproz"",""Soliproz"",""KiStproz"",""AusProzent"",""KapErtr"",""KapErtrSt"",""Soli"",""KiSt"",""FSABetrag"",""Auszahlung"" )" stSql = stSql & " VALUES('FALSE','" + MitNr + "','1','" + VWZweck + "','" + f_dat + "','" + AnteileSumme + "','" + f_kestproz + "','" + f_soliproz + "','" + f_kistpro + "','" + f_ausproz + "','"+ f_ausschuett + "','" + f_kest2 + "','" + f_soli + "','" + f_kist + "','" + f_fsa + "','" + f_auszahl + "')"
oResult = oSQL_Statement.executeQuery(stSql)
if InAnspruch < 0 then stSql = "INSERT INTO ""Dividenden"" (""Mitgliedsnummer"",""DividID"",""TagEintrag"",""FSABetrag"" )" stSql = stSql & " VALUES('" + MitNr + "','3','" + f_dat + "','" + f_fsarest + "')" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""SteuerDaten"" SET ""FSARest"" = '" + f_fsarest + "' WHERE ""Mitgliedsnummer"" = '" + MitNr + "'" oResult = oSQL_Statement.executeQuery(stSql) end if
Labelnichtweiter: i = i + 1 stAusgabeb = stAusgabeb & chr(10) oPForm.updateInt(staktuellField,i) LOOP
Select Case txanzahl Case 0 msgbox ("Kein Datensatz geschrieben.",64,"Dividenden-Eintragung") Case 1 msgbox ("Ein Datensatz geschrieben.",64,"Dividenden-Eintragung") Case Else msgbox (txanzahl & " Datensätze geschrieben.",64,"Dividenden-Eintragung") End Select
stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + stvon + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) oPForm.reload() wait 100 Labelraus: END SUB |
Standard |
Serienbrief |
Datumgedreht |
|
Basic |
|
4 |
FUNCTION Datumgedreht ( stDat AS STRING ) AS STRING stmutad() = split (stDat,"-") Datumgedreht = stmutad(2) & "." & stmutad(1) & "." & stmutad(0) END FUNCTION |
Standard |
Serienbrief |
Einzeldruck_obsolet |
|
Basic |
|
32 |
SUB Einzeldruck_obsolet(oEvent AS OBJECT) DIM oPFormF AS OBJECT DIM stSerie AS STRING DIM stIDField AS STRING DIM stID AS STRING DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT
stSerie = oEvent.Source.Model.Tag
oPFormF = oEvent.Source.Model.Parent oConnection = oPFormF.activeConnection() oSQL_Statement = oConnection.createStatement() stIDField = oPFormF.findColumn("Integer") stID = oPFormF.getString(stIDField)
stSql = "UPDATE ""von_bis"" SET ""von"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""bis"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) wait 100 Seriendruck(oEvent) END SUB |
Standard |
Serienbrief |
Filter_I_holen_Einzelbrief |
|
Basic |
9d - InteressentenBriefe|Schaltfläche_Einzeldruck (Control) |
33 |
SUB Filter_I_holen_Einzelbrief Dim oDoc As Object Dim oDrawpage As Object Dim oneuMit As Object oDoc = thisComponent oDrawpage = oDoc.drawpage
DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oForm = oDrawpage.forms.getByName( "Formular_Filter") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "SELECT ""Integer"" FROM ""Filter_I"" WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) oResult.next stID = oResult.getint(1) stSql = "UPDATE ""von_bis_I"" SET ""von"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis_I"" SET ""bis"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis_I"" SET ""aktuell"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql)
oFormS = oDrawpage.forms.getByName( "Formular_Serie" ) wait 100 oFormS.reload() END SUB |
Standard |
Serienbrief |
Filter_M_holen_Einzelbrief |
|
Basic |
7a - MitgliederBriefe|Schaltfläche_Einzeldruck (Control) 8d - DividendenZentrale|Schaltfläche_Einzeldruck (Control) 8i - Ueberweisungen|Schaltfläche_Einzeldruck (Control) |
33 |
SUB Filter_M_holen_Einzelbrief Dim oDoc As Object Dim oDrawpage As Object Dim oneuMit As Object oDoc = thisComponent oDrawpage = oDoc.drawpage
DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oForm = oDrawpage.forms.getByName( "Formular_Filter") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "SELECT ""Integer"" FROM ""Filter_M"" WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) oResult.next stID = oResult.getint(1) stSql = "UPDATE ""von_bis"" SET ""von"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""bis"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" +stID+ "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql)
oFormS = oDrawpage.forms.getByName( "Formular_Serie" ) wait 100 oFormS.reload() END SUB |
Standard |
Serienbrief |
Inhalt_zusammenstellen_Serie |
|
Basic |
Seriendruck (Procedure) |
264 |
FUNCTION Inhalt_zusammenstellen_Serie(stPfadvor, stDateivor, stPfadDruck, stMuster, stAbfrage, inSpalten, stSerie) AS BOOLEAN
REM
Inhalt_zusammenstellen_Serie = TRUE
DIM oDatenquelle AS OBJECT DIM oVerbindung AS OBJECT DIM oSQL_Anweisung AS OBJECT DIM oAbfrageergebnis AS OBJECT DIM oPForm AS OBJECT DIM oForm AS OBJECT DIM oColumns AS OBJECT DIM oDB AS OBJECT DIM oNewDoc AS OBJECT DIM oTabelle AS OBJECT DIM oRows AS OBJECT DIM oTextfields AS OBJECT DIM oTextfield AS OBJECT DIM stColumnname AS STRING DIM stDir AS STRING DIM stSql AS STRING DIM stText AS STRING DIM inIndex AS Long DIM i AS INTEGER DIM loID AS LONG DIM MitNr AS INTEGER DIM stDatum AS STRING DIM stBetrag AS STRING DIM intAnteilePlusMinus AS INTEGER DIM intAnteilesaldo AS INTEGER Dim params As Variant
oPForm = thisComponent.Drawpage.Forms.getByName("Formular_Serie")
wait 100 oPForm.reload() oPForm.last()
oDatenquelle = ThisComponent.Parent.CurrentController If NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect() END IF oVerbindung = oDatenquelle.ActiveConnection() oDatenDatei = oDatenquelle.DataSource oAbfragen = oDatenDatei.getQueryDefinitions()
mitNamenFeld = oPForm.getByName("Markierfeld_Namen") mitNamen = mitNamenFeld.State mitMitNrFeld = oPForm.getByName("Markierfeld_MitNr") mitMitNr = mitMitNrFeld.State nurOdtFeld = oPForm.getByName("Markierfeld_odt") nurOdt = nurOdtFeld.State
oDB = ThisComponent.Parent stDir = Left(oDB.Location,Len(oDB.Location)-Len(oDB.Title)) stPrintDir = stDir & stPfadDruck & "/" stDir = stDir & stPfadvor & "/" & stDateivor
IF stAbfrage <> "" THEN oAbf = oAbfragen.getByName( stAbfrage ) stQuery = oAbf.command oSQL_Anweisung = oVerbindung.createStatement() oForm = oSQL_Anweisung.executeQuery(stQuery) oForm.next oColumns = oForm.Columns splast= oForm.Columns.Count
IF oColumns.hasByName("Betrag") THEN inIndexBetrag = oForm.findColumn("Betrag") On Error Goto ErrorHandlerLeer EUROBetrag = oForm.getString(inIndexBetrag) params = Array(EUROBetrag,"de-DE") stinWorten = inWorten(params()) END IF ELSE msgbox ("Abfrage fehlt!" & ChrVorgang "Vorgang wird abgebrochen.",48,"Problem") Reset Inhalt_zusammenstellen_Serie = FALSE EXIT FUNCTION END IF
DIM args(0) AS NEW com.sun.star.beans.PropertyValue args(0).Name = "AsTemplate" args(0).Value = True On Error GoTo ErrorHandlerVorlage oNewDoc = StarDesktop.loadComponentFromURL(stDir,"_blank",0,args) oNewDocView = oNewDoc.CurrentController.Frame.ContainerWindow oNewDocView.Visible = False
oTextfields = oNewDoc.Textfields.createEnumeration DO WHILE oTextfields.hasMoreElements oTextfield = oTextfields.nextElement IF oTextfield.supportsService("com.sun.star.text.TextField.JumpEdit") THEN stColumnname = oTextfield.PlaceHolder IF oColumns.hasByName(stColumnname) THEN inIndex = oForm.findColumn(stColumnname)
IF stColumnname = "_INWORTEN" THEN oTextfield.Anchor.String = stinWorten ELSE
On Error Goto ErrorHandlerLeer oTextfield.Anchor.String = oForm.getString(inIndex) IF stColumnname = "Mitgliedsnummer" THEN MitNr = oForm.getInt(inIndex) END IF IF stSerie = "Interessenten" THEN IF stColumnname = "ID" THEN MitNr = oForm.getInt(inIndex) END IF END IF END IF END IF END IF LOOP
IF inSpalten > 0 THEN oTabellen = oNewDoc.getTextTables oTabelle = oTabellen.getByName("Tabelle_Anteilekonto") oSQL_Anweisung = oVerbindung.createStatement() stSql = "SELECT RIGHT( '0' || DAY( ""a"".""TagEintrag"" ), 2 ) || '.' || RIGHT( '0' || MONTH(""a"".""TagEintrag"" ), 2 ) || '.' || YEAR( ""a"".""TagEintrag"" ), " stSql = stSql + "REPLACE( ""a"".""AnteilePlusMinus"" * ( SELECT ""Wert"" FROM ""Fixwerte"" WHERE ""ID"" = 2 ) || ' €','.',',') AS ""PlusMinusBetrag"", " stSql = stSql + """a"".""AnteilePlusMinus"", " stSql = stSql + """a"".""AnteileSaldo"" FROM ""Anteile"" AS ""a"", ""Mitglieder"", ""von_bis""" stSql = stSql + "WHERE ""a"".""Mitgliedsnummer"" = ""Mitglieder"".""Mitgliedsnummer"" AND ""Mitglieder"".""Mitgliedsnummer"" = ""von_bis"".""aktuell"" " stSql = stSql + "AND ( ""a"".""VorgangID"" > 1 AND ""a"".""VorgangID"" < 12 ) ORDER BY ""a"".""TagEintrag"" ASC, " stSql = stSql + """a"".""AnteileSaldo"" ASC"
oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql) i = 0 WHILE oAbfrageergebnis.next stDatum = oAbfrageergebnis.getString(1) stBetrag = oAbfrageergebnis.getString(2) intAnteilePlusMinus = oAbfrageergebnis.getInt(3) intAnteileSaldo = oAbfrageergebnis.getInt(4) oTabelle.getCellByPosition(0,i).setString(stDatum) oTabelle.getCellByPosition(1,i).setString(stBetrag) oTabelle.getCellByPosition(2,i).setValue(intAnteilePlusMinus) oTabelle.getCellByPosition(3,i).setValue(intAnteileSaldo) oRows = oTabelle.getrows() oRows.insertByIndex(oRows.getCount(),1) i = i + 1 WEND oRows.removeByIndex(oRows.getCount()-1,1)
END IF
stMitNr = ""
IF mitMitNr THEN stMitNr = "_" & Right("0000" & MitNr, 4) END IF
IF stSerie = "Interessenten" THEN stMitNr = ""
stNachname = "" stVorname = "" stOrga = "" IF mitNamen Then IF oColumns.hasByName("_ORGA") THEN inIndex = oForm.findColumn("_ORGA") stOrga = "_" & oForm.getString(inIndex) END IF IF oColumns.hasByName("_NNAME") THEN inIndex = oForm.findColumn("_NNAME") stNachname = "_" & oForm.getString(inIndex) END IF IF oColumns.hasByName("_VNAME") THEN inIndex = oForm.findColumn("_VNAME") stVorname = "_" & oForm.getString(inIndex) END IF END IF
IF stOrga <> "_" THEN stDatei = stMuster & stMitNr & stOrga & ".pdf" stWriterDatei = stMuster & stMitNr & stOrga & ".odt" ELSE stDatei = stMuster & stMitNr & stNachname & stVorname & ".pdf" stWriterDatei = stMuster & stMitNr & stNachname & stVorname & ".odt" END IF stPrintDatei = stPrintDir & stDatei stWriterDatei = stPrintDir & stWriterDatei
IF nurOdt Then DIM prop(0) AS NEW com.sun.star.beans.PropertyValue prop(0).name = "Overwrite" prop(0).value = False oNewDoc.storeToURL(stWriterDatei, prop()) oNewDoc.close(true) ELSE DIM arg(0) AS NEW com.sun.star.beans.PropertyValue arg(0).name = "FilterName" arg(0).value = "writer_pdf_Export" oNewDoc.storeToURL(stPrintDatei, arg()) oNewDoc.close(true) END IF wait 1000
EXIT FUNCTION ErrorHandlerLeer: Reset Inhalt_zusammenstellen_Serie = FALSE EXIT FUNCTION ErrorHandlerVorlage: Reset msgbox ("Dateivorlage " & stdir & " nicht gefunden!" & ChrVorgang "Vorgang wurde abgebrochen.",48,"Problem") Inhalt_zusammenstellen_Serie = FALSE EXIT FUNCTION ErrorHandlerAbfrage: Reset msgbox ("Abfrage " & stAbfrage & " nicht gefunden!" & ChrVorgang "Vorgang wurde abgebrochen.",48,"Problem") Inhalt_zusammenstellen_Serie = FALSE END FUNCTION |
Standard |
Serienbrief |
inWorten |
|
Basic |
Inhalt_zusammenstellen_Serie (Procedure) |
5 |
Function inWorten(liste As Variant) As String Dim acceder As Object acceder = CreateUnoService("com.sun.star.sheet.FunctionAccess") inWorten = acceder.callFunction("NUMBERTEXT", liste) End Function |
Standard |
Serienbrief |
min_bis_max |
|
Basic |
7a - MitgliederBriefe|Bereich_alle (Control) 8d - DividendenZentrale|Bereich_alle (Control) 8i - Ueberweisungen|Bereich_alle (Control) |
39 |
SUB min_bis_max(oEvent AS OBJECT) DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT DIM minwert AS INTEGER DIM letzter AS INTEGER DIM oColumns AS OBJECT DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT steinzelalle = oEvent.Source.Model.Tag oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Serie") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "SELECT MIN(""Mitgliedsnummer"") AS ""MINIMIT"", MAX(""Mitgliedsnummer"") AS ""MAXIMIT"" FROM ""Mitglieder""" oResult = oSQL_Statement.executeQuery(stSql) oResult.next oColumns = oResult.columns() IF oColumns.hasByName("MINIMIT") THEN inIndex = oColumns.findColumn("MINIMIT") erster=oResult.getInt(1) IF oColumns.hasByName("MAXIMIT") THEN inIndex = oColumns.findColumn("MAXIMIT") letzter=oResult.getInt(2) oFeld = oForm.getByName("Num_von") oFeld.value=erster oFeld.commit() oFeld = oForm.getByName("Num_bis") oFeld.value=letzter oFeld.commit() END SUB |
Standard |
Serienbrief |
min_bis_max_I |
|
Basic |
9d - InteressentenBriefe|Bereich_alle (Control) |
48 |
SUB min_bis_max_I(oEvent AS OBJECT)
DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT DIM minwert AS INTEGER DIM letzter AS INTEGER DIM oColumns AS OBJECT DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT steinzelalle = oEvent.Source.Model.Tag oDoc = thisComponent oDrawpage = oDoc.drawpage
oDoc = thisComponent oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Formular_Serie") oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "SELECT MIN(""ID"") AS ""MINIMIT"", MAX(""ID"") AS ""MAXIMIT"" FROM ""Interessenten""" oResult = oSQL_Statement.executeQuery(stSql) oResult.next oColumns = oResult.columns() IF oColumns.hasByName("MINIMIT") THEN inIndex = oColumns.findColumn("MINIMIT") erster=oResult.getInt(1) IF oColumns.hasByName("MAXIMIT") THEN inIndex = oColumns.findColumn("MAXIMIT") letzter=oResult.getInt(2)
oFeld = oForm.getByName("Num_von") oFeld.value=erster oFeld.commit()
oFeld = oForm.getByName("Num_bis") oFeld.value=letzter oFeld.commit() END SUB |
Standard |
Serienbrief |
OberOrdner |
|
Basic |
|
9 |
SUB OberOrdner DIM oDoc AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDB = ThisComponent.Parent stDBDir = Left(oDB.Location,Len(oDB.Location)-Len(oDB.Title)) xstDBDir = Mid(stDBDir,9) msgbox xstDBDir END SUB |
Standard |
Serienbrief |
Pfadzeile |
|
Basic |
Seriendruck (Procedure) |
20 |
FUNCTION Pfadzeile AS LONG DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oFeld AS OBJECT DIM oZ AS OBJECT oDoc = thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName("Formular_Pfad") oFeld = oForm.getByName("Tabellen-KontrollfeldPfade") oSpalte = oFeld.getByName("TextField_PfadVor") oSpalte.HelpText = "HALLO" wait 100 oZ=oFeld.getRowSet() wait 100 Pfadzeile = oZ.Row END FUNCTION |
Standard |
Serienbrief |
Projektfilter_umschalten |
|
Basic |
7a - MitgliederBriefe|Markierfeld_NRD (Control) |
16 |
SUB Projektfilter_umschalten DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_ProjID") oFeld = oForm.getByName("KF_Projekt_ID") oFeld.EnableVisible = NOT oFeld.EnableVisible END SUB |
Standard |
Serienbrief |
Schalterfarbe |
|
Basic |
7a - MitgliederBriefe|Markierfeld_odt (Control) 9d - InteressentenBriefe|Markierfeld_odt (Control) |
19 |
SUB Schalterfarbe (oEvent AS OBJECT) DIM oSchalter AS OBJECT
oPForm = oEvent.Source.Model.Parent nurOdtFeld = oPForm.getByName("Markierfeld_odt") nurOdt = nurOdtFeld.State
oSchalter = oPForm.getByName("SchaltflächeSeriendruck")
IF nurOdt THEN oSchalter.BackgroundColor = 16737992 oschalter.Label = "Briefe als .odt - Dateien erzeugen" oSchalter.HelpText = "Die Writer-Datei(en) können bearbeitet und dann als .pdf gespeichert weerden." ELSE oSchalter.BackgroundColor = 16737792 oschalter.Label = "Briefe als .pdf - Dateien erzeugen" oSchalter.HelpText = "Automatische Erstellung der .pdf-Datei(en)" END IF END SUB |
Standard |
Serienbrief |
Seriendruck |
|
Basic |
7a - MitgliederBriefe|SchaltflächeSeriendruck (Control) 9d - InteressentenBriefe|SchaltflächeSeriendruck (Control) Einzeldruck_obsolet (Procedure) |
337 |
SUB Seriendruck(oEvent AS OBJECT) DIM oPForm AS OBJECT DIM oEForm AS OBJECT DIM stSerie AS STRING DIM stIDField AS Integer DIM stvonField AS Integer DIM stbisField AS Integer DIM staktuellField AS Integer DIM stID AS Integer DIM stvon AS Integer DIM stbis AS Integer DIM i AS Long DIM PZeile AS Long DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM oSQL_StatementoM AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT stSerie = oEvent.Source.Model.Tag
oPForm = oEvent.Source.Model.Parent oConnection = oPForm.activeConnection()
oohneEMailFeld = oPForm.getByName("Markierfeld_nurohneEmail") ohneEMail = oohneEMailfeld.State IF ohneEMail Then msgbox ("Ausgabe nur für EmpfängerInnen ohne Email",,"Info") END IF
IF stSerie = "Mitglieder" THEN onurNachrangDFeld = oPForm.getByName("Markierfeld_NRD") nurmitNRD = onurNachrangDFeld.State IF nurmitNRD Then msgbox ("Ausgabe nur für EmpfängerInnen mit Nachrangdarlehen",,"Info") END IF ELSE nurmitNRD = FALSE END IF
omitStromFeld = oPForm.getByName("Markierfeld_Strom") nurmitStrom = omitStromFeld.State IF nurmitStrom Then msgbox ("Ausgabe nur für StromkundInnen",,"Info") END IF
IF stSerie = "Mitglieder" THEN oexignoreFeld = oPForm.getByName("Markierfeld_exignore") exignore = oexignorefeld.State IF exignore Then msgbox ("Ausgabe auch für ehemalige Mitglieder, die normalerweise übersprungen werden",,"Info") END IF oEForm = oPForm.getByName("Ehemalige") soviele = oEForm.RowCount DIM negativListe(soviele) oEForm.reload() oEForm.first() stehemaligField = oEForm.findColumn("Mitgliedsnummer") ineg=0 negativListe(ineg) = oEForm.getInt(1) WHILE oEForm.next ineg = ineg + 1 negativListe(ineg) = oEForm.getInt(1) WEND END IF
IF stSerie = "Interessenten" THEN oSQL_Statement_IID = oConnection.createStatement() oSQL_Statement_IID.ResultSetType =com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE stSql_IID = " SELECT ""ID"" FROM ""Interessenten"" ORDER BY ""ID"" ASC " oIvorhanden = oSQL_Statement_IID.executeQuery(stSql_IID) WHILE oIvorhanden.NEXT WEND letzteID=oIvorhanden.Row - 1 DIM IvorhandenListe(letzteID) oIvorhanden.first ji = 1 IvorhandenListe(ji) = oIvorhanden.getInt(1) WHILE oIvorhanden.NEXT ji = ji+ 1 IvorhandenListe(ji) = oIvorhanden.getInt(1) WEND END IF
IF ohneEMail THEN oSQL_StatementoM = oConnection.createStatement() oSQL_StatementoM.ResultSetType =com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE stSql_oM = " SELECT ""Mitgliedsnummer"" FROM ""Kontakte"" WHERE ""Email1"" IS NULL" IF stSerie = "Interessenten" THEN stSql_oM = " SELECT ""ID"" FROM ""Interessenten"" WHERE ""Email1"" IS NULL" oResultoM = oSQL_StatementoM.executeQuery(stSql_oM) WHILE oResultoM.next WEND anzohne = oResultoM.Row - 1 DIM ohneMailListe(anzohne) oResultoM.first jj=1 ohneMailListe(jj) = oResultoM.getInt(1) WHILE oResultoM.next jj = jj + 1 ohneMailListe(jj) = oResultoM.getInt(1) WEND END IF
IF nurmitStrom THEN oSQL_StatementoM = oConnection.createStatement() oSQL_StatementoM.ResultSetType =com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE stSql_mS = " SELECT ""Mitgliedsnummer"" FROM ""StromGas_Mitglieder"" WHERE ""StatusStromID"" = 1 OR ""StatusStromID"" = 2 " IF stSerie = "Interessenten" THEN stSql_mS = " SELECT ""ID"" FROM ""StromGas_Interessenten"" WHERE ""StatusStromID"" = 1 OR ""StatusStromID"" = 2 " oResultmS = oSQL_StatementoM.executeQuery(stSql_mS) WHILE oResultmS.next WEND anzstrom = oResultmS.Row - 1 DIM mitStromListe(anzstrom) oResultmS.first js=1 mitStromListe(js) = oResultmS.getInt(1) WHILE oResultmS.next js = js + 1 mitStromListe(js) = oResultmS.getInt(1) WEND END IF
IF nurmitNRD THEN oSQL_Statement = oConnection.createStatement() stSql = " SELECT ""Integer"" FROM ""Projekt_aktID"" WHERE ""ID"" = 0 " oResult = oSQL_Statement.executeQuery(stSql) oResult.next staktProjekt = oResult.getInt(1) msgbox "aktuelle Projektnummmer: " & staktProjekt oSQL_StatementmNRD = oConnection.createStatement() oSQL_StatementmNRD.ResultSetType =com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE stSql_mNRD = " SELECT ""Mitgliedsnummer"" FROM ""ProjektDaten"" WHERE ""ProjektDaten"".""VorgangID"" = 1 AND ""ProjektDaten"".""ProjektID"" = '" + staktProjekt + "' " oResultmNRD = oSQL_StatementmNRD.executeQuery(stSql_mNRD) WHILE oResultmNRD.next WEND anzNRD = oResultmNRD.Row - 1 msgbox "Anzahl der Mitglieder mit NRD ist " & anzNRD DIM mitNRDListe(anzNRD) oResultmNRD.first jn=1 mitNRDListe(jn) = oResultmNRD.getInt(1) WHILE oResultmNRD.next jn = jn + 1 mitNRDListe(jn) = oResultmNRD.getInt(1) WEND END IF
stIDField = oPForm.findColumn("ID") stID = oPForm.getString(stIDField)
stvonField = oPForm.findColumn("von") stvon = oPForm.getInt(stvonField)
stbisField = oPForm.findColumn("bis") stbis = oPForm.getInt(stbisField)
IF ohneEmail THEN janein = msgbox("Wirklich (höchstens) " & anzohne & " Briefe nur an Empfänger ohne Email ausgeben?",256+32+4,"Überleg nochmal !") IF janein= 7 THEN EXIT SUB ELSEIF nurmitStrom THEN janein = msgbox("Wirklich (höchstens) " & anzstrom & " Briefe nur an StromkundInnen ausgeben?",256+32+4,"Überleg nochmal !") IF janein= 7 THEN EXIT SUB ELSEIF nurmitNRD THEN janein = msgbox("Wirklich (höchstens) " & anzNRD & " Briefe nur an Mitglieder mit Projekt-ID " & staktProjekt & " ausgeben?",256+32+4,"Überleg nochmal !") IF janein= 7 THEN EXIT SUB ELSE anzdiff = stbis - stvon +1 janein = msgbox("Wirklich alle (außer übersprungene) " & anzdiff & " Briefe ausgeben?",256+32+4,"Überleg nochmal:") IF janein = 7 THEN EXIT SUB END IF
staktuellField = oPForm.findColumn("aktuell") i = stvon oPForm.updateInt(staktuellField,i)
PZeile = Pfadzeile() oSQL_Statement = oConnection.createStatement() stSql = "SELECT * FROM ""Pfade_Briefe"" WHERE ""ID""="+PZeile+"" IF stSerie = "Interessenten" THEN stSql = "SELECT * FROM ""Pfade_Briefe_I"" WHERE ""ID""="+PZeile+""
oResult = oSQL_Statement.executeQuery(stSql) oResult.next stPfadvor = oResult.getString(2) stDateivor = oResult.getString(4) stPfadDruck = oResult.getString(3) stMuster = oResult.getString(5) inSpalten = oResult.getInt(6) stAbfrage = oResult.getString(7)
i = stvon txanzahl = 0 Durchmarsch = FALSE DO WHILE i < stbis+1 drucken = TRUE
IF ohneEmail THEN drucken = FALSE jj = 1 WHILE (jj < anzohne + 1) if ohneMailListe(jj) = i then drucken = TRUE jj = jj + 1 WEND END IF IF NOT drucken THEN GOTO Labelnichtdrucken
IF nurmitStrom THEN drucken = FALSE js = 1 WHILE (js < anzstrom + 1) if mitStromListe(js) = i then drucken = TRUE js = js + 1 WEND END IF IF NOT drucken THEN GOTO Labelnichtdrucken
IF nurmitNRD THEN drucken = FALSE jn = 1 WHILE (jn < anzNRD + 1) if mitNRDListe(jn) = i then drucken = TRUE jn = jn + 1 WEND END IF IF NOT drucken THEN GOTO Labelnichtdrucken
IF stSerie = "Mitglieder" THEN j=0 WHILE (j < ineg + 1) if negativListe(j) = i then drucken = FALSE if exignore then janein = msgbox ("Soll der Brief für Mitgliedsnummer " & i & " trotzdem ausgegeben werden?",256+32+4,"Mitgliedsnummer " & i & "wird normalerweise übersprungen!") if janein = 6 then drucken = TRUE end if end if j=j+1 WEND END IF
IF stSerie = "Interessenten" THEN Iistda = FALSE j=0 WHILE (j < ji + 1) if IvorhandenListe(j) = i then Iistda = TRUE end if j=j+1 WEND IF NOT Iistda THEN drucken = FALSE END IF
IF drucken THEN stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + i + "' WHERE ""ID""=0" IF stSerie = "Interessenten" THEN stSql = "UPDATE ""von_bis_I"" SET ""aktuell"" ='" + i + "' WHERE ""ID""=0" END IF oResult = oSQL_Statement.executeQuery(stSql)
IF NOT Inhalt_zusammenstellen_Serie(stPfadvor, stDateivor, stPfadDruck, stMuster, stAbfrage,inSpalten, stSerie) THEN IF NOT Durchmarsch THEN janein = msgbox("Trotzdem weitere Briefe erstellen?",256+32+4,"Evtl. leerer Datensatz bei Nummer " & i & " !?") IF janein = 7 THEN GOTO hinterLoop IF janein = 6 THEN Durchmarsch = TRUE ENDIF ELSE txanzahl = txanzahl + 1 END IF END IF Labelnichtdrucken: i = i + 1 oPForm.updateInt(staktuellField,i) LOOP
hinterLoop: Select Case txanzahl Case 0 msgbox ("Kein Brief geschrieben.",64,"") Case 1 msgbox ("Ein Brief geschrieben.",64,"") Case Else msgbox (txanzahl & " Briefe geschrieben.",64,"") End Select
stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + stvon + "' WHERE ""ID""=0" IF stSerie = "Interessenten" THEN stSql = "UPDATE ""von_bis_I"" SET ""aktuell"" ='" + stvon + "' WHERE ""ID""=0" END IF oResult = oSQL_Statement.executeQuery(stSql) oPForm.reload() wait 100 END SUB |
Standard |
Serienbrief |
vonbis_aktualisieren |
|
Basic |
7a - MitgliederBriefe|Aktualisiere (Control) 8d - DividendenZentrale|Aktualisiere (Control) 8i - Ueberweisungen|Aktualisiere (Control) |
66 |
SUB vonbis_aktualisieren DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT DIM minwert AS INTEGER DIM letzter AS INTEGER DIM oColumns AS OBJECT DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Serie")
oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement()
stSql = "SELECT MAX(""Mitgliedsnummer"") AS ""MAXIMIT"" FROM ""Mitglieder""" oResult = oSQL_Statement.executeQuery(stSql) oColumns = oResult.columns() IF oColumns.hasByName("MAXIMIT") THEN inIndex = oColumns.findColumn("MAXIMIT") oResult.next letzter=oResult.getInt(1)
oFeld = oForm.getByName("Num_von") minwert=oFeld.value IF minwert > letzter THEN msgbox(letzter & " ist die höchste Mitgliedsnummer!",1,"Nööö!") minwert=1 oFeld.value=minwert ENDIF oFeld.commit() oFeld = oForm.getByName("Num_bis") maxwert=oFeld.value IF maxwert > letzter THEN msgbox(letzter & " ist die höchste Mitgliedsnummer!",1,"Nööö!") maxwert=letzter ENDIF IF maxwert < minwert THEN msgbox("bis kann nicht kleiner sein als von!",1,"Nööö!") maxwert=minwert ENDIF oFeld.value=maxwert oFeld.commit() oFeld = oForm.getByName("Num_aktuell") oFeld.value=minwert oFeld.commit() oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "UPDATE ""von_bis"" SET ""von"" ='" + minwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""bis"" ='" + maxwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis"" SET ""aktuell"" ='" + minwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) END SUB |
Standard |
Serienbrief |
vonbis_aktualisieren_I |
|
Basic |
|
66 |
SUB vonbis_aktualisieren_I DIM oDoc AS OBJECT DIM oDrawpage AS OBJECT DIM oForm AS OBJECT DIM oSubForm AS OBJECT DIM oFeld AS OBJECT DIM minwert AS INTEGER DIM letzter AS INTEGER DIM oColumns AS OBJECT DIM oConnection AS OBJECT DIM oSQL_Statement AS OBJECT DIM stSql AS STRING DIM oResult AS OBJECT oDoc = thisComponent oDrawpage = oDoc.drawpage oForm = oDrawpage.forms.getByName("Formular_Serie")
oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement()
stSql = "SELECT MAX(""ID"") AS ""MAXIMIT"" FROM ""Interessenten""" oResult = oSQL_Statement.executeQuery(stSql) oColumns = oResult.columns() IF oColumns.hasByName("MAXIMIT") THEN inIndex = oColumns.findColumn("MAXIMIT") oResult.next letzter=oResult.getInt(1)
oFeld = oForm.getByName("Num_von") minwert=oFeld.value IF minwert > letzter THEN msgbox(letzter & " ist die höchste ID!",1,"Nööö!") minwert=1 oFeld.value=minwert ENDIF oFeld.commit() oFeld = oForm.getByName("Num_bis") maxwert=oFeld.value IF maxwert > letzter THEN msgbox(letzter & " ist die höchste ID!",1,"Nööö!") maxwert=letzter ENDIF IF maxwert < minwert THEN msgbox("bis kann nicht kleiner sein als von!",1,"Nööö!") maxwert=minwert ENDIF oFeld.value=maxwert oFeld.commit() oFeld = oForm.getByName("Num_aktuell") oFeld.Value=minwert oFeld.commit() oConnection = oForm.activeConnection() oSQL_Statement = oConnection.createStatement() stSql = "UPDATE ""von_bis_I"" SET ""von"" ='" + minwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis_I"" SET ""bis"" ='" + maxwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) stSql = "UPDATE ""von_bis_I"" SET ""aktuell"" ='" + minwert + "' WHERE ""ID""=0" oResult = oSQL_Statement.executeQuery(stSql) END SUB |