konto usunięte

Temat: Struktura bazy danych

Witam
Mam następujący problem
Potrzeba zbudować mi strukturę danych do danego formularza gdzie użytkownik wybiera
1. Zamawiającego
2. produkt
3. Rozmiar
4. Kolor
4. Ryza
5. Wpisuje ilość sztuk

Zamówienie składa się z
Jednego Produktu
Każdy kolor może mieć wiele ryz
Każda ryza może mieć wiele rozmiarów

struktura danych w bazie danych wygląda następująco

tabela:Zamówienie(ID,Produkt_ID)
tabela: Paczka(ID,ID_Zamówienie,Kolor)
tabela: Szczegóły paczki(ID,ID_Paczka,Rozmiar,Ryza,Ilość)

Problem polega na zaprojektowaniu tabel//formularza, w taki sposób by użytkownik mógł wybierać dane w kolejności wypisanej wyżej, a cały backend tworzył się sam.
Czyli w kolejności Produkt->Rozmiar->Kolor,Ryza->Ilość

Problem wiąże się z tym że baza danych ma trochę inną strukturę niż ma wyświetlać ją formularz.Ten post został edytowany przez Autora dnia 19.08.13 o godzinie 09:53
Marzanna Szulta

Marzanna Szulta właściciel, Usługi
Informatyczne
SZULTASET

Temat: Struktura bazy danych

Najprościej - oprzeć formularz o kwerendę, w której znajdą się potrzebne pola z odpowiednich tabel, oczywiście powiązanych relacjami.

konto usunięte

Temat: Struktura bazy danych

Chciałem oprzeć o kwerendę dodającą, ale ta ma możliwość dodawania tylko do jednej tabeli.
Zwykła kwerenda nie będzie potrafiła dodać jednocześnie wpisów do wielu tabel.
Skłaniam się tutaj że będzie potrzebny kod VBA
Marzanna Szulta

Marzanna Szulta właściciel, Usługi
Informatyczne
SZULTASET

Temat: Struktura bazy danych

Formularza nie da się zbudować na źródle danych będących kwerendą funkcjonalną, musi to być zwykła kwerenda wybierająca ew. agregująca.
Zapisywanie danych - faktycznie najlepiej kodem VBA.

konto usunięte

Temat: Struktura bazy danych

czy posiadacie przykłady jakiś bardziej rozwiniętych baz danych które dodają rekordy poprzez VBA.
Byłbym wdzięczny za jakiś złożony przykład, bym mógł się na nim oprzeć.

@EDIT

żeby nie zaczynać nowego tematu
Pytanie odnośnie ODBC(mysql)+Msaccess
Jak przechowywać obrazki msaccess w bazie danych mysql ? Ten post został edytowany przez Autora dnia 20.08.13 o godzinie 21:40

konto usunięte

Temat: Struktura bazy danych

Bartosz Ś.:
czy posiadacie przykłady jakiś bardziej rozwiniętych baz danych które dodają rekordy poprzez VBA.
Byłbym wdzięczny za jakiś złożony przykład, bym mógł się na nim oprzeć.

@EDIT

żeby nie zaczynać nowego tematu
Pytanie odnośnie ODBC(mysql)+Msaccess
Jak przechowywać obrazki msaccess w bazie danych mysql ?


mozna probowac w polu ole jest niezla juz kompresja w 2010 ale najlepiej nie robic tego wcale tylko przechowywac je lokalnie i w access umieszczac odnosniki

konto usunięte

Temat: Struktura bazy danych

Bartosz Ś.:
Witam
Mam następujący problem
Potrzeba zbudować mi strukturę danych do danego formularza gdzie użytkownik wybiera
1. Zamawiającego
2. produkt
3. Rozmiar
4. Kolor
4. Ryza
5. Wpisuje ilość sztuk

Zamówienie składa się z
Jednego Produktu
Każdy kolor może mieć wiele ryz
Każda ryza może mieć wiele rozmiarów

struktura danych w bazie danych wygląda następująco

tabela:Zamówienie(ID,Produkt_ID)
tabela: Paczka(ID,ID_Zamówienie,Kolor)
tabela: Szczegóły paczki(ID,ID_Paczka,Rozmiar,Ryza,Ilość)

Problem polega na zaprojektowaniu tabel//formularza, w taki sposób by użytkownik mógł wybierać dane w kolejności wypisanej wyżej, a cały backend tworzył się sam.
Czyli w kolejności Produkt->Rozmiar->Kolor,Ryza->Ilość

Problem wiąże się z tym że baza danych ma trochę inną strukturę niż ma wyświetlać ją formularz.

moim zdaniem 3 tabele to za duzo wystarcza 2 dane ogolne zamowienia i szczegoly zamowienia niepotrzebniekomplikujesz strukture w drugiej tabeli masz tylko kolor nalezy to pole umiescic w tabeli szczegoly.

nie rozumiem problemu, masz rekord z kilkoma polami ustawiasz ze w kolejnosci odpowiedniej i juz dane zapisuja sie do tabeli. jaki jest klopot z tym?
Nikodem Dobrzański

Nikodem Dobrzański Architekt systemu,
BizTech Konsulting
S.A.

Temat: Struktura bazy danych

żeby nie zaczynać nowego tematu
Pytanie odnośnie ODBC(mysql)+Msaccess
Jak przechowywać obrazki msaccess w bazie danych mysql ?

Możesz przechowywać obrazy w bazie mysql, np.

CREATE TABLE 'nazwaBazy'.'nazwaTablicy' (
'picId' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
'picCaption' VARCHAR(45) NOT NULL,
'picExtension' VARCHAR(3) NOT NULL,
'image' LONGBLOB NOT NULL,
PRIMARY KEY('picId')
)
TYPE = InnoDB;

Tak możesz przechowywać dane binarne do 1 MB. W przypadku obszerniejszych obrazków musisz zwiększyć wartość opcji max_allowed_packed w pliku konfiguracji serwera.

Niemniej, to rozwiązanie bardzo obciąża bazę - lepiej zastosować rozwiązanie, że tworzysz sobie katalog, w którym trzymasz pliki graficzne. Gdy dodajesz plik, pobiera się identyfikator z kolumny auto_increment i zmienia nazwę pliku na ten identyfikator. To rozwiązanie dużo szybsze i stosowane jako powszechna praktyka.
Bartosz Ś.:
czy posiadacie przykłady jakiś bardziej rozwiniętych baz danych które dodają rekordy poprzez VBA.
Byłbym wdzięczny za jakiś złożony przykład, bym mógł się na nim oprzeć.

Twój formularz opiera się o zdarzenia, że jak coś wybierzesz, to w innym polu pojawi się coś z tym związanego. Tego nie zrobisz bez VBA. Poniżej przykład

‘ Aby połączyć się z bazą danych przez DAO, trzeba dodać odpowiednią referencję
‘ Menu->Tool->References->Microsoft DAO 3.6 Object Library
Sub wczytujZBazy()
Dim mydb As Database ‘ zmienna reprezentująca bazę danych
Dim myrs As Recordset ‘ zmienna reprezentująca zestaw rekordów

‘ wczytywanie bazy danych do pierwszej, wolnej przestrzeni roboczej, w której zostanie
‘ umieszczony zestaw rekordów
Set mydb = workspaces(0).OpenDatabase(“C:\Users\nn.mdb”)

‘ uruchomienie kwerendy i zapisanie wyników w zmiennej
Set myrs = mydb.openrecordset(“Kwerenda1”)
‘ lub
‘ Set myrs = mydb.OpenRecordset(“Select * From …”)

Dim i As Integer ‘ licznik
i = 1
While Not myrs.EOF
Cells(i, 1).Value = myrs!Liczebność
Cells(i, 2).Value = myrs!Nazwa_grupy
myrs.movenext
i = i + 1
Wend
mydb.Close ‘ zamknięcie okna bazy danych
Set myrs = Nothing ‘ zwolnienie pamięci
Set mydb = Nothing ‘ zwolnienie pamięci
End Sub

Abyś miał w formularzu przegląd danych, zobacz sobie obiekt GridView.

Pozdrawiam:
Nikodem



Wyślij zaproszenie do