Private Sub PoliczOfNazwa_DblClick(Cancel As Integer)
DoCmd.SendObject acSendTable, "ODDZIAŁ BIAŁYSTOK", acFormatXLS,
"bial...@firma.pl", , , "Zestawienie " & Date(), "Tekst wiadomości"
End Sub
Ten fragment działa (tzn otwiera właściwie wypełnioną wiadomość OE), ale po
kliknięciu kolejnego oddziału nic się nie dzieje. Wysyłanie następnego
raportu jest możliwe dopiero po zamknięciu i ponownym otworzeniu bazy. Nie
mam pojęcia czy w kodzie czegoś brakuje, czy może niedobrze się za to
zabieram. Access nie pokazuje żadnego błędu, po prosu nie reaguje na kolejne
kliknięcia.
Próbowałem umieścić wszystkie oddziały pod jednym klawiszem, zarówno pisząc
kilka razy to samo, zmieniając oddziały i tytuły tabel, jak i korzystając z:
DoCmd.SendObject acSendTable, [wysyłka]![oddzial], acFormatXLS,
"[wysylka]![email]", , , "Zestawienie " & Date(), "Tekst wiadomości"
Czy jest jakiś sposób aby działało to za każdym razem (jaki)?
Czy da się umieścić takiego e-maila od razu w skrzynce nadawczej OE, zamiast
jako wiadomości otwartej do edycji?
Będę wdzięczny za sugestie.
--
pozdrawiam, Filip
> Witam.
> W access jestem początkujący, a chciałbym sobie ułatwić ztoszkę życie.
> Mam bazę, która ma rozsyłać dzienne raporty do oddziałów firmy.
[...]
Mała dygresja. Chociaż do dziś w jednej z firm działa moja aplikacja, która
za pomocą fremail.dll (a może freemail.dll? nie pamiętam...) intensywnie
wysyła i odbiera emaile (głównie w celu synchronizacji danych między
plikami mdb), chociaż są wbudowane api do wysyłania poczty oraz darmowe
utilki działające z wiersza poleceń, nic nie przebije Database Mail
dostępnego w MSSQL 2k5. I o ile użycie tego kombajnu (nie wiem, czy w
wersji Express jest Database Mail, do sprawdzenia) wyłącznie do rozsyłania
maili może być lekkim nieporozumieniem, o tyle już przejście z całą
aplikacją na architekturę C-S (niechby nawet z Accessem jako interfejsem)
mogłoby być dużym krokiem do przodu. Jak już masz inwestować swój czas w
naukę Accessa, podłącz mu lepszy silnik.
Wczoraj musiałem grzebnąć w aplikacji Accessowej napisanej przez kogoś
innego, sto lat temu. Facet chyba nawet nie stał obok żadnej bazy danych
jak to pisał. Obłęd w ciapki...
Aha, do tej pory nie wiem jak odkryć ukryte okno bazy danych w A2007 :)
Pieprzone wstążki...
--
PL, zbulwersus bardzos. Kawy...
>
> Wczoraj musiałem grzebnąć w aplikacji Accessowej napisanej przez kogoś
> innego, sto lat temu. Facet chyba nawet nie stał obok żadnej bazy danych
> jak to pisał. Obłęd w ciapki...
>
> Aha, do tej pory nie wiem jak odkryć ukryte okno bazy danych w A2007 :)
>
> Pieprzone wstążki...
A F11 nie działa ?
Albo Ikona lewy górny narożnik (Przycisk pakietu Office)
potem na samym dole Opcje programu/ Bieżąca baza danych/ Okienko nawigacji.
Proste. K...a mać. Jak ja kocham wstążki ...
--
Pozdrowienia
BraZby
> Ten fragment działa (tzn otwiera właściwie wypełnioną wiadomość OE), ale po
> kliknięciu kolejnego oddziału nic się nie dzieje. Wysyłanie następnego
> raportu jest możliwe dopiero po zamknięciu i ponownym otworzeniu bazy. Nie
> mam pojęcia czy w kodzie czegoś brakuje, czy może niedobrze się za to
> zabieram. Access nie pokazuje żadnego błędu, po prosu nie reaguje na kolejne
> kliknięcia.
a to nie jest tak że powinieneś wysłac wiadomośc i wtedy ponownie baza
będzie odblokowana??Bo u mnie jest dokłądnie właśnie tak, czyli musze
wysłac maila i dopiero moge tworzyc kolejną wiadomość
> Czy da się umieścić takiego e-maila od razu w skrzynce nadawczej OE, zamiast
> jako wiadomości otwartej do edycji?
tak, w metodzie SendObject, przedostatnim parametrem jest
"EditMessage" (jest to parametr po textmessage), defaultowo jest
ustawiony na true, ustaw go na false i wiadomośc powinna byc od razu
wysyłana. Czasem moze pojawić sie dodatkowe okno z komunikatem, że
jakaś aplikacja próbuje od razu wysłać maila i czy chcesz zatwierdzić
(na zwykłym outlook tak mam, na expressie nie próbowałem)
--
Pozdr.
Cynio
> tak, w metodzie SendObject, przedostatnim parametrem jest
> "EditMessage" (jest to parametr po textmessage), defaultowo jest
> ustawiony na true, ustaw go na false i wiadomośc powinna byc od razu
> wysyłana.
Działa ;-)
> Czasem moze pojawić sie dodatkowe okno z komunikatem, że
> jakaś aplikacja próbuje od razu wysłać maila i czy chcesz zatwierdzić
> (na zwykłym outlook tak mam, na expressie nie próbowałem)
OE również niestety, czyli kliknąć parenaście razy trzeba.
Dzięki - jestem o krok bliżej.
--
pozdrawiam, Filip
**1. Za pomocą osobnych przycisków:
Private Sub Polecenie8_Click()
DoCmd.SetWarnings True 'tak dla pewnosci
DoCmd.SendObject acSendTable, "BIAŁYSTOK", acFormatXLS,
"te...@invalid.com", , , "Zestawienie " & Date, "tekst.", False
End Sub
Private Sub Polecenie9_Click()
DoCmd.SetWarnings True 'tak dla pewnosci
DoCmd.SendObject acSendTable, "BIELSKO BIAŁA", acFormatXLS,
"te...@invalid.com", , , "Zestawienie " & Date, "tekst.", False
End Sub
** Efekt: nie ma reakcji na drugie wysyłanie, niezależnie od kolejności
**2. Poprzez wywołanie spod jednego przycisku:
DoCmd.SetWarnings True 'tak dla pewnosci
DoCmd.SendObject acSendTable, "BIAŁYSTOK", acFormatXLS,
"te...@invalid.com", , , "Zestawienie " & Date, "tekst.", False
DoCmd.SendObject acSendTable, "BIELSKO BIAŁA", acFormatXLS,
"te...@invalid.com", , , "Zestawienie " & Date, "tekst.", False
**Efekt: wysyła tylko pierwszą wiadomość
Access nie zgłasza żadnego błędu ani po kliknięciu kolejnego przycisku ani
przy próbie wysyłki z wszystkiego na raz. Gdybym zobaczył komunikat błędu,
to miałbym jakies nadzieje na naprawienie tego, ale "milczący" błąd nawet
nie wiem jak diagnozować.
Ma ktoś może jakieś sugestie? Może jakiś inny sposób? Muszę wysłać do 40
oddziałów (o różnych adresach e-mail), 40 różnych tabel/wyników kwerendy.
--
pozdrawiam,
Filip