Centar za edukaciju-BiH



#1 14.09.2017 19:40
xl_kid Van mreze
Clan
Registrovan od:11.11.2008
Postovi:154


Predmet:MS Access aplikacija u VB
Ranije sam napravio aplikaciju u Access za vise korisnika i radi super. Sada hocu da izgradim istu takvu ali u VB posto se broj korisnika povecao. Napravio sam master i detail formu ali sam zaglavio kod datagridview-a. Naime u Access-u kada unesem ID proizvoda, pomoću query-ja, u susednom polju dobijem naziv proizvoda pa zatim unesem količine. Nisam nasao na netu nista sto bi mi pomoglo. Ima resenja ali ja ne znam sta da trazim pa mi je potrebna pomoc kako da resim ovaj problem.
↑  ↓

#2 14.09.2017 23:01
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: MS Access aplikacija u VB
Koi VB koristis VB.Net ili VB6.
Jas radim u VB6 i imam Grid koi se moze podesiti da radi skorao kao subforma u accesu.
Ima tu par detali koi nisu isti.
Najbolje da stavis primer pa cemo naci neko resenje.
↑  ↓

#3 15.09.2017 11:09
xl_kid Van mreze
Clan
Registrovan od:11.11.2008
Postovi:154


Predmet:Re: MS Access aplikacija u VB
VB.Net (Microsoft Visual Basic 2013).
Rešio sam problem uz pomoć ovog primera https://social.msdn.microsoft.com/...=vbgeneral

Sada imam drugi problem, dupli ID. U tabeli imam PorudzbineID (int, PRIMARY, identity 1, 1).
Kada rade više korisnika u isto vreme duplira ID (prim. kod oba korisnika je prilikom unosa isti ID a prilikom snimanja kod prvog snimi sve a drugog prebaci na novi broj ali snimi detalje (podatke iz DGV) pod prethodnim brojem i tako duplira podatke oba korisnika.
↑  ↓

#4 15.09.2017 23:17
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: MS Access aplikacija u VB
Moras tu obrnuti pazna na dve stvari.
Prva stvar je kako se generira ID i druga stvar je kako upises podatke..
Kako Ja radim to:
Ako imamo forma na koja imam grid kao subforma.
1. Forma nikad nije vezana za Recordset ili u tvom slucaju Data set.
2. Svi polja na tu forme su nevezane.
- Kad napravis nevezana forma sa nevezani polja u tom slucaju nemoze se duplirati ID broj.
Da recimo da imamo command button New i command button Save i na button New stavljas da se sva polja pobrise ili popune sa defaul vrednost nakon clicka na New ti popunjavas sva ostali polja oko tog dokumenta i kad je sve popunjeno ides na command Save i kad cliknes na Save ti dodas Novi Zapis u data setu upises sve iz nevezani polja u datasetu i na kraju zacuvas taj dataset.
Kad si ovo odradio ides na iscitavajne ID iz taj dataset i na osnovu ID ja koi si iscitao stvaras nov Data set koi ti je potreban za gridu.
Ja radim to odprilike ovako i nikad nisam imao problema sa duplirajne ID ja.
Moj sovet ti je ako radis visekorisnicke aplikacije vodi paznju jedan isti tip na dokumenti u isto vreme da rade dvoje korisnike.
Ako u isto vreme dvoje korisnike prave fakturi uvjek imaces problema da sinhroniziras brojeve.
Ako dvoje korisnike moze taditi u isto vrene na isti tip dokument u tom slucaju mozes napraviti tabela u koja ce uupisujej koi korisnik koi ID i Redni broj zauzeo.
↑  ↓

#5 12.10.2017 11:58
xl_kid Van mreze
Clan
Registrovan od:11.11.2008
Postovi:154


Predmet:Re: MS Access aplikacija u VB
Hvala na lepom i opširnom objašnjenju ali meni ne ide :(. Da li imaš neki savet gde da vidim neki primer na netu ili šta da tražim?
↑  ↓

#6 12.10.2017 12:27
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: MS Access aplikacija u VB
http://icentar.ba/showtopic.php?id=2709
Eve ovde je bila slicna tema.
Ako ne stavi tvoju bazu i formu koi si poceo pa mozemo polako zaedno resavati
↑  ↓

#7 13.10.2017 00:00
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: MS Access aplikacija u VB
Citat:
Sada imam drugi problem, dupli ID. U tabeli imam PorudzbineID (int, PRIMARY, identity 1, 1).
Kada rade više korisnika u isto vreme duplira ID (prim. kod oba korisnika je prilikom unosa isti ID a prilikom snimanja kod prvog snimi sve a drugog prebaci na novi broj ali snimi detalje (podatke iz DGV) pod prethodnim brojem i tako duplira podatke oba korisnika.

Da pretpostavim da se radi o access bazi.
Znam tamo da se ovo hoce desiti kada se radi u visekorisnickom rezimu.

Sad malo opsirnije opisi.
Jesu li forme za upis u Vb ili u accessu?
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 13.10.2017 07:14
xl_kid Van mreze
Clan
Registrovan od:11.11.2008
Postovi:154


Predmet:Re: MS Access aplikacija u VB
Moja greška Disappointed izvinite.
Baza je u MS SQL a forme su VB. Lepo radi kada je jedan korisnik ali kada rade više korisnika (unos podataka u istoj tabeli "Narudzbe" i "NarudzbeDetalji") javlja se problem sa duplim ID.
↑  ↓

#9 13.10.2017 11:55
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: MS Access aplikacija u VB
To je onaj problem sta sam ti ja pisao da moras vditi racun o otvarajne dataseta.
Najbolje da stavis primer da mi pogledamo sta je i resicemo.
Koliko ja vidim ti ti imas problem kod tabela NarudzbeDetalji u onaj moment kad dvoje korisnike u isto vreme unose novi zapis.
Sad pitam dali je ID Auto Number polje ili ga ti generiras ?
Ako je Auto number onda sama baza ce resiti problem ,ako nije onda mora se tamo drugacije pristapiti.
Ima tu jos par varijacija na ovaj problem zato nam treba konkretan primer da znamo sta da odgovorimo.
Ovako sve su predpostavke i niko nemoze da ti da odgovor na tvoje pitajne.
↑  ↓

#10 17.10.2017 12:13
xl_kid Van mreze
Clan
Registrovan od:11.11.2008
Postovi:154


Predmet:Re: MS Access aplikacija u VB
***NARUDZBE***
Name/Type/Nulls
ID/int    /N - PK
KupacID/int/Y
Datum/datetime/Y
RelacijaID/int/Y
KorisnikID/int/Y
DatumKnjizenja/datetime/Y
KorisnikIzmenio/int/Y
DatumIzmene/timestamp/Y
Oznacavanje/int/Y
KlasaCenovnikaID/int/Y
VrstaNarudzbeID/int/Y
KCID/int/Y

***NARUDZBEDETALJI***
Name/Type/Nulls
ID/int/N - PK
PorudzbinaID/int/N - FK
ProizvodID/int/N
Komad/int/Y
Kutija/int/Y
Tezina/int/Y
KorisnikID/int/Y
DatumKnjizenja/datetime/Y
KorisnikIzmenio/int/Y
DatumIzmene/datetime    /Y

***COD***
Public Class Narudzbe
Private Sub PorudzbineBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles PorudzbineBindingNavigatorSaveItem.Click
Me.Validate()
Me.PorudzbineBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.INIT_DB_DataSet)
l
End Sub

Private Sub Narudzbe_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Me.PorudzbineDetaljiTableAdapter.Fill(Me.INIT_DB_DataSet.PorudzbineDetalji)

Me.PorudzbineTableAdapter.Fill(Me.INIT_DB_DataSet.Porudzbine)


End Sub

Private Sub PorudzbineDetaljiDataGridView_CellEndEdit(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles PorudzbineDetaljiDataGridView.CellEndEdit

Dim nazivpro As New INIT_DB_DataSetTableAdapters.PorudzbineDetaljiTableAdapter

If e.ColumnIndex = 0 Then

If Val(PorudzbineDetaljiDataGridView.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) > 0 Then
PorudzbineDetaljiDataGridView.Rows(e.RowIndex).Cells(e.ColumnIndex + 1).Value = nazivpro.ProizvodNaziv(CInt(Val(PorudzbineDetaljiDataGridVi
ew.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)))

End If

End If

End Sub

Private Sub RelacijaIDTextBox_LostFocus(sender As Object, e As EventArgs) Handles RelacijaIDTextBox.LostFocus
Me.Validate()
Me.PorudzbineBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.INIT_DB_DataSet)
End Sub


End Class

***FORM
ID, KupacID, Datum, RelacijaID

na polju IDTextBox sa stavio (DataBindings/Advanced) - Property - Text/Binding - PorudzbineBindingSource - ID/Update mode - onpropertychanged i na taj nacin radi.
na polju RelacijaID sa stavio da sacuva podatke na LostFocus i tako uvek imam broj (NarudzbeDetalji)porudzbineID koji odgovara (Narudzbe)ID.

Sigurno ima laksi i cistiji nacin da se spreci dupliranje.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 11: 29 am.