Wątek przeniesiony 2021-09-16 10:15 z Inne języki programowania przez cerrato.

Modyfikacja istniejącego raportu w MS Access

0

Cześć,

Mam bazę w której już istnieje raport.
Potrzebuje za pomocą VBA skopiować ten raport.

Co jest dość proste

DoCmd.CopyObject , "wplaty_2018", acReport, "wplaty_2017"

Następnie w powstałej kopii chcę zmienić źródło danych z qrywplaty_2017 na qrywplaty_2018 (Kwerenda).

Ogarnąłem temat źródła danych

 strSQL = "SELECT Członkowie.Nazwisko, Członkowie.Imie, Członkowie.Składka_" ..............

DoCmd.OpenReport "wplaty_2018", acViewDesign, , , acHidden
  Set objRPT = Reports("wplaty_2018")
  objRPT.RecordSource = strSQL

W następnym etapie pola które znajdują się w raporcie muszą pobierać dane z innych kolumna z nowego źródła
np. w raporcie skopiowanym jest pozycja która pobiera dane z kwerendy qrywplaty_2017 - kolumna Data_wplaty_2017 i trzeba to zmienić na - kwerenda qrywplaty_2018 - kolumna_wplaty_2018...

Czy ktoś ma pomysł jak to zrobić?

Pozdrawiam
MK

0

a nie prościej nadać aliasy kolumnom w SQLu tak, żeby pasowały do raportu?

0

Pewnie lepiej tylko to już istniejąca baza i działająca od 2007 roku :-)
Znajomy oprosił mnie o drobną modyfikację i myślałem, że będzie to pestka a tu ;-)

Teraz co jest mi potrzebne to jak zmienić wartość pola w raporcie co mogę zmienić bardzo prosto ale "z palca" czyli z Składka_2017 na Składka_2018

Screen

0

wg mojej skromnej wiedzy trze się przeklikać przez pola i pozmieniać ich nazwy ręcznie

0

Ogarnąłem temat w końcu poniżej wycinek kodu.
Może komuś się przydać.

VarRok = DMax("Rok", "Rok")

strSQLWplacili = "Wplacili_" & VarRok
Set objRPT = Reports("Wplacili_" & VarRok)
objRPT.RecordSource = strSQLWplacili
Set objLBL = objRPT.Controls("Etykieta10")
objLBL.Caption = "Wpłaty za " & VarRok & " rok"
objRPT.skladka.ControlSource = "Składka_" & VarRok
objRPT.DataSkladka.ControlSource = "Data_składki_" & VarRok
objRPT.SumaSkladka.ControlSource = "=SUM([Składka_" & VarRok & "] )"
DoCmd.Close acReport, "Wplacili_" & VarRok, acSaveYes

Pozdrawiam
MK

1 użytkowników online, w tym zalogowanych: 0, gości: 1