MS ACCESS - kilka pytań.

0
  1. Mam sytuację, w której mam jedną tabelę oraz jeden formularz. Mam też już jakieś dane wprowadzone do bazy danych. Gdy włączam widok formularza, taki jak będzie widział użytkownik to w polach do wypełniania są dane z ostatnio wprowadzonego formularza. Jak zrobić, aby te wartości były puste?
  2. Jak ustawić szare podpowiedzi na danym polu? Dajmy na to, mamy pole: WIEK i jeśli nic nie jest wpisane to chcę, aby wyświetlało się tam: wprowadź tutaj swój wiek. I gdy użytkownik to kliknie to szare pole znika?
  3. Załóżmy, że mam pole "Tak" "Nie". Jeśli ktoś kliknie "Nie" to się po prostu zapisuje do bazy danych. Jeśli ktoś zaznaczy "Tak" to odblokowywuje się / pokazuje się nowe pole do wpisania tam jakiejś wartości. Jak to zrobić?
1

Ad1) W właściwościach formularza w zdarzeniu OnLoad wprowadź:

DoCmd.GoToRecord acDataForm, "NazwaTwojegoFormularza", acNewRec

Ad2) Dostałeś już odpowiedź w tym wątku (Twoim własnym zresztą!) :
MS ACCESS - jak zrobić rodzaj pola, które się automatycznie zwiększa (formularz)?

Ad3) Oprogramuj przyciski Tak i Nie w zdarzeniu On Click:

"Nie":

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

"Tak":

NazwaTwojegoPolaTekstowego.Visible = True

Czyli to pole na wejsciu ustawiasz jako nie widoczne.

0

Znaczy się - co do punktu pierwszego.
@BlackBad

1

Ok, chyba sie nie do końca zrozumieliśmy. W Zdarzeniu OnLoad - wybierz [Event Procedure] i kliknij w ikonke z korpkami ... Przeniesie Cie do Modules - gdzie możesz pisać kod w VB i tam masz wkleić ten kod co podałem. Patrz załącznik.

screenshot-20190114101412.png

0

@BlackBad:
Dobra, do mnie trzeba łopatologicznie - nie złość się proszę; jestem w tym nowy.
Przechodząc do punktu trzeciego, spójrz na załącznik.
Chciałem rozwiązać taką opcję, że mam taki formularz, pole kombi. Nie przyciski. I tutaj chciałbym, jeżeli NIE to zablokowane, jeżeli TAK to odblokowane.
Chciałem zrobić coś takiego, ale chyba nie tędy droga.

If [Element programu] = "NIE" Then
   result = Tekst1077.Visible = False
Else
   result = Tekst1077.Visible = True
End If

Tym samym nawiązując do podpunktu drugiego. Posługując się linkiem podanym w tamtym temacie.

https://stackoverflow.com/questions/21536192/textbox-text-disappear-on-text-entry-excel-vba

Pod jakie zdarzenie lub w które miejsce mam podpiąć coś analogicznego? (Mowa o polu tekstowym).

1
Private Sub cmb_AfterUpdate()

If cmb.Value = "Tak" Then
    Label3.Visible = False
ElseIf cmb.Value = "Nie" Then
    Label3.Visible = True
End If

End Sub

Gdzie cmb to nazwa mojego combi field. A label3 to jakiś tam obiekt (w tym wypadku etykieta) która w zależności co wybierzesz w combi albo się chowa albo pojawia.

0

@BlackBad
Chcę zrobić sumowanie kilku pól.
C 2019
C 2020
C 2021
SUMA C
W tym celu użyłem w źródle formantów SUMA C:

= [C 2019]+[C 2020]+[C 2021]

Ale tym samym chciałbym aby zapisywało się do tabeli ten wynik, do SUMY C, która istnieje. Jak to zrobić?

1

No dobra po kolei ...
Primo - co sam zrobiłeś żeby spróbować otrzymać zamierzony efekt ? Co próbowałeś i jak ... co nie poszło, z czym masz problem ? Rozumiesz musisz trochę też sam szukać i kombinować ..
Secundo - pisz jaśniej! Ja się muszę domyślać co masz na myśli a i tak nie jestem pewien czy dobrze rozumiem :|
Tertio - pytania z tematu zostały odpowiedziane - w sumie ten wątek powinieneś zamknąć oznaczając post z odpowiedzią i otworzyć nowy temat. Staraj się tak robić z następnymi pytaniami.

Co do meritum - rozumiem, że masz 3 pola na formularzu C 2019 /20 /21 z wartościami liczbowymi i chcesz zapisać sumę z tych 3 pól do tablicy - po np. naciśnięciu jakiegoś przycisku, zgadza się ?

To teraz wędka czyli pseudo kod:

Gdy klikniesz przycisk
otwórz połączenie z baza (ADO lub DAO)
stwórz recordset
stworz i zapisz do zmiennej zmSumaC = [C 2019].Value +[C 2020].Value +[C 2021].Value
Napisz zapytanie SQL ala " INSERT INTO TwojaNazwaTablicy (SumaC) VALUES (' " & zmSumaC & " ')
Wykonaj zapytanie
zamknij recordset i połaczenie

I masz co chciałeś. Spróbuj to napisać sam... jak będziesz miał problemy napisz z czym konkretnie.

0

Znalazłem taki tutorial: > http://codevba.com/msaccess/dao_recordset.htm#
Chcę na nim pracować, jednak mój VBA wygląda tak jak na załączonym obrazku.
Chcę, aby moje VBA wyglądało tak jak na przedstawionej wcześniej stronie (na załączniku masz opcję, o którą mi chodzi). Jak to zrobić?

1

Powiem po imieniu ... Tomek!!! Nie załamuj mnie :) Weź no Panie wypij jaką kawę czy zieloną hebatę ;)

odpal stronę główną Home z tego portalu co podałeś i przeczytaj co tam jest napisane na górze jak byk:
**
"Welcome to Code VBA - the Office programming power solution
Prices starting at 79.95 € / US$ 90.45

Code VBA is an add-in for both professional software developers and MS Office users of Visual Basic for Applications."**

Chcesz wydać 90 baksów na jakieś dodatki do VB ? Na psu bude Ci to. Odpal google i jeszcze raz poszukaj tutoriali do VBA i generalnie MS Access. Do tego co potrzebujesz znajdziesz pewnie nawet konkretne rozwiązania na stack overflow. Poszukaj ...

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