Mentés Visual Studio 2010 (VB)

Mentés Visual Studio 2010 (VB)
2010-08-30T19:54:58+02:00
2010-08-31T14:32:09+02:00
2022-11-19T00:10:32+01:00
porcika2
Sziasztok!
Segítséget szeretnék kérni az alábbi probléma megoldásához. Van egy adatbázisom, mely több táblából épül fel.
A könyvelő tábla az alap tábla, melynek ID mezője kapcsolódik a cégtábla KonyveloID mezőjéhez. A másik két tábla Alapadat és AFA tábla. Ezekben van a CegID mező, ami a cégtáblához kapcsolódik.

KonyveloID CegID AlaadatID
Konyveloneve KonyveloID CegID

AFAID
CegID

Létrehozom az AlapadatDataSet-t, melyben mind a négy tábla szerepel, ami után a könyvelő táblában található a cégtábla, melyben a további két tábla található.
KonyveloID
Konyveloneve CegID
KonyveloID AlapadatID
CegID

AFAID
CegID

A könyvelő táblát ráhúzom az űrlapra, ami létrehozza a KonyveloBindingNavigator-t, amelyen megtalálható a mentés ikon. Ezt követően a cégtáblát (könyvelő táblából) húzom az űrlapra, s ehhez egy másik BindingNavigátort is felhelyezek, s ezt a cég BindingSource-hez kötöm. Ezek után a másik két táblát is elhelyezem az űrlapon. A próba során az eljárás működik is, s most jön csak a kérdés, mert ezt nem tudom beállítani.
A mentés funkció nem akar működni, illetve úgy működik, hogy minden művelet után a mentés gombra kell kattintanom, hogy megmaradjon a művelet. Amennyiben egy műveletet végzek, s nem mentem, hanem egy másik cégre váltok át, akkor az előző művelet nem kerül mentésre.

Ezt az ACCESS programban meg tudtam csinálni, mivel segédűrlapként sikerült felépítenem, de ebben a programban nem akar összejönni.

A Kódban beírtam a megfelelő sorokat

Me.Validate()

Me.Konyvelo09BindingSource.EndEdit()
Me.Konyvelo09TableAdapter.Update(Me.Adatleadas09DS.Konyvelo09)

Me.Ceg09BindingSource.EndEdit()
Me.Ceg09TableAdapter.Update(Me.Adatleadas09DS.Ceg09)

Ugyan így a másik két táblát is beírtam.

Hozzá kell tennem, hogy nem vagyok programozó, s nem is tanultam programozást, de szeretem a kihívást. Minden olyan videót, amely a programozás tanulását segíti, megnézek, mivel akkor értem meg a program lényegét, amit utána el is készítek. Leginkább erről a honlapról:

Developer tools, technical documentation and coding examples

Miért nem tud a programom az összes adat felvitele után menteni?
Várom a segítséget.
Mutasd a teljes hozzászólást!
No, értem már a "tábla a táblában" kifejezésedet.
Bocsi, nem akartam kötekedni, de picit fura volt..
Mivel sajátkulcs-idegenkulcs kapcsolat van regisztrálva e tábláknál ezért a dataset ablakban a master tábla oszlop-felsorolása alatt a kapcsolódó tábla (vagy táblák) oszlop-felsorolása is megjelenik.
Ám ez magával hozza azt a jelenséget is amit itt leírtál.
Amennyiben el kívánod kerülni az egyenkénti mentést, akkor nélkülöznöd kell a benne rejlő előnyöket is (pl. az idegen kulcs automatikus betöltése).
Megteheted pl. hogy az ÁFA és az Alapadat táblákat kapcsolat hivatkozás nélkül töltöd be (a datasetben önállóan is megjelenő tableadapter-t vonszolod a form-odra).
Ekkor néked kell pl. a cég váltás előtt a cégazonosítóval feltölteni a táblák (ÁFA / Alapadat) soraiban a megfelelő oszlopot, viszont csak a munka befejezésekor kell a mentést végrehajtani.
Navigator:
Én csak egy navigator-t használnék mindig a célnak megfelelően módosítva az adatforrását (pl. a navigator csíkon elhelyezett radio button-okkal).
Mutasd a teljes hozzászólást!

  • Bocsi, de végül is mit szeretnél menteni?
    Minden táblában módosítasz?
    Felviszel új könyvelőt, céget, áfát alapadatot?

    Létrehozom az AlapadatDataSet-t, melyben mind a négy tábla szerepel, ami után a könyvelő táblában található a cégtábla, melyben a további két tábla található.

    Bocsi,(táblában tábla) itt tán fogalom zavar lépett fel?

    Jó lenne tudni mit mire miként szeretnél használni..
    Mutasd a teljes hozzászólást!
  • Az ÁFA, illetve az ALapadat táblában akarok adatokat felvinni, s ezeket menteni. A Könyvelő és Cég tábla külön űrlapon van elkészítve, s ott müködik a mentés funkció. Csak ezen az űrlapon nem akar.
    A Data Object kiválasztásánál a fenti 4 táblát választom ki, ami után a DataSource-nél megjelenik a létrehozott (nálam Adatleadas09DS)felírat. Ezt megnyitva látható a 4 tábla. A négy táblából a könyvelöt választom ki, mivel ez adja meg, hogy a könyvelönek melyek a cégei, s ezen cégeknek milyen bevallásai, illetve adatai vannak. A könyvelöt felhelyezem az űrlapra, ami után létrejön a konyvelo09BindingNavigator, amin megtalálható a Mentés ikon. (A bemutató filmeken így láttam, lehet, hogy rosszul értelmeztem, ezért bocsánat,ha a DataSource konyvelo09 táblából helyezem fel a ceg09 táblát, akkor a program lekezeli a ceg navigálását is, hisz a könyvelö táblában lévő KonyveloID-t a Cég táblában lévő KonyveloID összekapcsolja. Az űrlapra felhelyezem a cég táblát, majd egy új BindingNavigátor is elhelyezek, s ennek a tulajdonságlapján a BindingSource mezőjében a Ceg09BindingSource-t adom meg. A futtatás után megkapom, hogy a Könyvelő navigátoron ki tudom választani a könyvelöt, majd a Cég navigátorom a Cégek között navigálhatok. Ezek müködnek. Ezt követően helyezem fel a DataSource-ből a másik két táblát, s ezt viszont a Könyvelö>Cég>AFA és Alapadat táblákat. Ennek rekordjai között a Cég navigátorral egyidőben lépkedek. Bocsánat, hogy nem szakszerüen tudom elmagyarázni, de tud be a programozási hiányomnak.
    Ebbe a két táblában irok adatokat. A mentés akkor müködik, ha csak egy cégben lévő AFA és Alapadatokba irok adatot, s ezt a mentés gombra kattintva mentem, majd utána váltok egy másik cégre, vagy másik könyvelőre, s itt is megismétel a müveletet. Nekem arra lenne szükségem, hogy amikor minden adatot bevittem az adatbázisba, akkor mentse le a beírt adatokat. Ezt nem tudom megoldani. Az ACCESS programba ez meg tudtam csinálni, ott ez nem okozott gondott.
    Segítségedet előre is köszönöm. Sanyi
    Mutasd a teljes hozzászólást!
  • No, értem már a "tábla a táblában" kifejezésedet.
    Bocsi, nem akartam kötekedni, de picit fura volt..
    Mivel sajátkulcs-idegenkulcs kapcsolat van regisztrálva e tábláknál ezért a dataset ablakban a master tábla oszlop-felsorolása alatt a kapcsolódó tábla (vagy táblák) oszlop-felsorolása is megjelenik.
    Ám ez magával hozza azt a jelenséget is amit itt leírtál.
    Amennyiben el kívánod kerülni az egyenkénti mentést, akkor nélkülöznöd kell a benne rejlő előnyöket is (pl. az idegen kulcs automatikus betöltése).
    Megteheted pl. hogy az ÁFA és az Alapadat táblákat kapcsolat hivatkozás nélkül töltöd be (a datasetben önállóan is megjelenő tableadapter-t vonszolod a form-odra).
    Ekkor néked kell pl. a cég váltás előtt a cégazonosítóval feltölteni a táblák (ÁFA / Alapadat) soraiban a megfelelő oszlopot, viszont csak a munka befejezésekor kell a mentést végrehajtani.
    Navigator:
    Én csak egy navigator-t használnék mindig a célnak megfelelően módosítva az adatforrását (pl. a navigator csíkon elhelyezett radio button-okkal).
    Mutasd a teljes hozzászólást!
  • Szia! Köszönöm az általam nehezen értelmezett problémámra a választ. Amit leírtál, megkisérlem végrehajtani, s ez alapján felépíteni az űrlapot. Annyit megállapítottam, hogy a Sajátkulcs-idegenkulcs kapcsolat (idézem a te szavaiddal[köszönöm a tanítást])a Könyvelő-Cég táblákban működik, s ekkor mentést is tudok végrehajtani több adat felvitele után is. Amikor már az újabb Könyelö-Cég, s ennek Cég-Alapadat kapcsolatot akarom elvégezni, akkor már nem müködik a mentést.
    Azért furcsálom ezt, mert a Visual Basic 2005 VB-nél ezt megcsináltam, s akkor müködött ez a funkció (miképp sikerült, ne kérdezd, fogalmam sincs). Sajnos ez a vinyó elszállt, s nem is tudom megnézni. Ezért akartam ezzel a módszerrel újból megépíteni. A vinyó elszállása után ACCESS-ben építettem fel az adatbázist, de ott a keresési fukció nehezen ment, bár sok segítséget tudtam a más által feltett kérdésekre adott válaszokból megtanulni.
    Még egy kérdésem van. Miképpen lehet lezárni ezt a kérdést, s a pontot kiosztani.Köszönöm mégegyszer a választ.
    Mutasd a teljes hozzászólást!
  • Miképpen lehet lezárni ezt a kérdést, s a pontot kiosztani.Köszönöm mégegyszer a választ.

    Például így, mert te is lehetsz a megoldás szülője.
    Egyébként azon soron kattintasz az Elfogadom..-ra amelyik néked vélhetően a megoldást nyújtotta.
    Amennyiben úgy érzed, hogy rosszul döntötél, kérheted a moderator-t (katt, az ablak tetején), módosítsa döntésedet.
    Mutasd a teljes hozzászólást!
  • Szia! Rosszul kattintottam, de a moderatorra kattintottam, s jeleztem, hogy neked ossza ki a pontott.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd