mikmac [ Senator ]
Access 2003 --> Access 2007
Stworzylem baze. Wszystko piknie.
Baza ma wszelkie formularze, raporty, moduly i inne kwerendy w jednym pliku a tabele sa dolaczone dynamicznie i mieszcza sie na serwerze MySQL.
Wszystko pieknie dziala, ale mam problem z "tworzeniem" samej bazy.
Mianowicie:
baza dziala w sieci lokalnej i korzysta (tzn raporty korzystaja) z drukarek umieszonych w firmie.
Wszystkie kompy w firmie widza powiedzmy Drukarka01 jako: \\serwer\Drukarka01 i raport ustawiam pod dana drukarke i jej mozliwosci (rodzaj papieru, marginesy etc).
Niestety tworzac wszelkie materialy w domu nie mam dostepu do \\serwer\Drukarka01 i nie jestem w stanie nawet wlaczyc podgladu danego raportu. Od razu wyskakuje okienko, ze raport jest ustawiony na dana drukarke i czy chce to zmienic.
Przez to nie moge "w locie" robic poprawek w raportach, gdyz musze sie fizycznie znalezc w firmie i poprawiac to z komputera, ktory widzi przypisana raportowi drukarke.
Jakis sposob na ominiecie/poradzenie sobie z tym?
albz74 [ Legend ]
a nie możesz z poziomu kodu VBA skorzystać- jest zdarzenie które pozwala przed wypuszczeniem raportu na ekran jeszcze działać.
mikmac [ Senator ]
no mzoe jest taka opcja, tylko nie wiem jak to zrobic.
Nie moge wejsc ani w widok normalny ani projektu. Nawet jak moge edutowac kod VBA - ok, ale to tylko pare zachowan na wlaczenie lub aktywacje raportu. A jak np poprawic czcionke - to z takich najbardziej prozaicznych.
Wlasnie po to zalozylem watek, bo nie wiem jak to zrobic ;)
mikmac [ Senator ]
maly up...
przeciez tu od groma projektantow baz danych ;)

mikmac [ Senator ]
Pytanie z pierwszego posta aktualne, ale mam kolejne ;)
Chce wyeksportowac dane w Accessa do kontaktow Outlooka.
Znalazlem taki kod na stronach MSN:
Sub ExportAccessContactsToOutlook()
' Set up DAO Objects.
Dim oDataBase As DAO.Database
Dim rst As DAO.Recordset
Set oDataBase = OpenDatabase _
("c:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb")
Set rst = oDataBase.OpenRecordset("Customers")
' Set up Outlook Objects.
Dim ol As New Outlook.Application
Dim olns As Outlook.Namespace
Dim cf As Outlook.MAPIFolder
Dim c As Outlook.ContactItem
Dim Prop As Outlook.UserProperty
Set olns = ol.GetNamespace("MAPI")
Set cf = olns.GetDefaultFolder(olFolderContacts)
With rst
.MoveFirst
' Loop through the Microsoft Access records.
Do While Not .EOF
' Create a new Contact item.
Set c = ol.CreateItem(olContactItem)
' Specify which Outlook form to use.
' Change "IPM.Contact" to "IPM.Contact.<formname>" if you've
' created a custom Contact form in Outlook.
c.MessageClass = "IPM.Contact"
' Create all built-in Outlook fields.
If ![CompanyName] <> "" Then c.CompanyName = ![CompanyName]
If ![ContactName] <> "" Then c.FullName = ![ContactName]
' Create the first user property (UserField1).
Set Prop = c.UserProperties.Add("UserField1", olText)
' Set its value.
If ![CustomerID] <> "" Then Prop = ![CustomerID]
' Create the second user property (UserField2).
Set Prop = c.UserProperties.Add("UserField2", olText)
' Set its value and so on....
If ![Region] <> "" Then Prop = ![Region]
' Save and close the contact.
c.Save
c.Close
.MoveNext
Loop
End With
End Sub
Wszystko fajnie, ale nie umiem go przerobic :/ Ten kod wgrywa a nastepnie wysyla cala tabele.
Ja natomiast chce przeslac tylko jeden, aktualnie wlaczony w formularzu rekord.
Ponadto nie bardzo rozumiem jak przesylac tym kodem konkretne dane prze parametr Prop.
Moze mi ktos to przerobic na kod wysylajacy jeden, aktualny rekord oraz powiedzmy 4 pola:
Nazwa, telefon, email, miasto.
Z gory dzieki.

mikmac [ Senator ]
Zmienilem temat watku bo po co tworzyc nowy, a mam nastepny problem :) Z powyzszymi jakos juz sobie poradzilem.
Zanim kupilem Viste sprawilem sobie nowego Offica 2007. Wszystkie piknie ladnie - Office jest naprawde krokiem naprzod - ale mam problem znow z Accessem.
Mam troche baz danych utworzonych w Accessach 97-2003. Wszystkie sa zabezpieczone haslem, maja grupe uzytkownikow etc.
W starszych accessach najpierw tworzylo sie specjalny pli (domyslnie nazywany Zabezpieczenia.mdw) a potem jak chciales z danej bazy korzystac na innym kompie to trzeba bylo ten plik dograc do systemu zabezpieczen. Nie bylo to trudne.
Jednak jak ten plik wgrac w nowym Accessie? Nigdzie nie moge znalezc takiej opcji a dostepu do baz wciaz nei mam :/
Legrooch - jak to zrobic?
legrooch [ MPO Squad Member ]
Wpadłęm na sekundę i uciekam do klienta.
Jak wrócę a nikogo nie będzie postaram Ci się pomóc. Możesz stworzyć jakiś przykładowy plik w starym Access który będziesz chciał tak zassać? Bo jedyne co to nie wiem jak to wygląda (Accessem malutko się bawiłem :/)
Jakby co to podeślij na nick małpa o2 kropka pl
Cainoor [ Mów mi wuju ]
mikmac ---> Też mam badzo mało czasu, ale wg mnie to po prostu musisz zmodyfikować ten fragment:
Set rst = oDataBase.OpenRecordset("Customers") // Tutaj otwierasz połączenie z tabela Customers
With rst
.MoveFirst
' Loop through the Microsoft Access records.
Do While Not .EOF
.MoveNext
Loop
//Tutaj lecisz po wszystkich rekordach w tabeli. Albo dodaj warunek, by wysyłał tylko ten rekord, który ma określona ID, lub np. treść jakiejś kolumny, a reszta zlewaj. Może mało wydajne rozwiązanie, ale tak na szybko z pewnością powinno zadziałać.
LOL, sorry, nie popatrzyłem na daty hehe.
Może się przyda: