Bosna i Hercegovina



#1 14.09.2017-19:40
xl_kid Offline
Clan
Registrovan/a od: 11.11.2008-08:24
Komentari: 93


Subject: 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 Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,336


Subject: 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 Offline
Clan
Registrovan/a od: 11.11.2008-08:24
Komentari: 93


Subject: 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 Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,336


Subject: 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 Offline
Clan
Registrovan/a od: 11.11.2008-08:24
Komentari: 93


Subject: 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 Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,336


Subject: 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 Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: 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?
Pozdrav
↑  ↓

#8 13.10.2017-07:14
xl_kid Offline
Clan
Registrovan/a od: 11.11.2008-08:24
Komentari: 93


Subject: 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 Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,336


Subject: 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 Offline
Clan
Registrovan/a od: 11.11.2008-08:24
Komentari: 93


Subject: 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.
↑  ↓

#11 18.10.2017-11:30
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,336


Subject: Re: MS Access aplikacija u VB
To je to sta sam ti pricao ova ID/int /N - PK kod tebe nije AutoNumber i zato se duplira kad u isto vreme se otvore dva i vise dokumenata.
Stavi ovo da bude Autonamber i mislam da ce tvoj problem biti resen.
Dobro je ovo da napravis i u onoj drugoj tabeli gde upises stavki.
Tako svaki novi dokumenat i svaka nova stavka uzece novi ID koi e razlicni od predhodniot.
↑  ↓

#12 19.10.2017-06:21
xl_kid Offline
Clan
Registrovan/a od: 11.11.2008-08:24
Komentari: 93


Subject: Re: MS Access aplikacija u VB
ID u obe tabele (u MS SQL bazi) je Is Identity i Primary Key ako si na to mislio.
↑  ↓

#13 19.10.2017-15:41
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,336


Subject: Re: MS Access aplikacija u VB
Jesam na to mislio .
Ako su na obe tabeli Identiti na Yes onda nebi trebalo biti problema sa id brojeva.
Proveri kako otvaras i zatvaras redove .
Moze nastati problem ako drzis dugo vreme otvoren neki red.
Probaj kad napravis novi zapis (red) da ga odma zatvoris,a ako ti treba da nesto promenis onda napravis update na taj red.
↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 23.11.2017-10:37.