Bewerk de geselecteerde rij van het subformulier (Access)

Status
Niet open voor verdere reacties.

AccessStudent

Gebruiker
Lid geworden
4 okt 2016
Berichten
6
Ik ben op dit moment bezig om in Access2016 een database te bouwen, waarin vastligt welke onderdelen nodig zijn om een bepaald produkt te maken.
Om onderdelen aan een produkt toe te voegen of te verwijderen heb ik 2 buttons op het formulier gezet.
Eerst had ik het formulier gebouwd vanuit 2 tabellen, en zowel de knop TOEVOEGEN als de knop VERWIJDEREN werkten. Ik wilde verder ook de omschrijvingen van de onderdelen in de linker tabel zichtbaar hebben, en heb daarvoor de linker kolommen uit een query laten komen in plaats van uit een tabel.
Het lukt me nu alleen niet meer om voor de knop VERWIJDEREN in VBA de gegevens van de geselecteerde rij boven water te krijgen... (zie het veld onder het queryveld, met vermelding #NAAM?
 

Bijlagen

  • KnipselTabel.JPG
    KnipselTabel.JPG
    84,5 KB · Weergaven: 59
  • KnipselQuery.jpg
    KnipselQuery.jpg
    93,6 KB · Weergaven: 67
Laatst bewerkt:
Zonder de db is er weinig van te zeggen. Ik heb wel een idee, maar om er nu een gokspelletje van te maken...
 
@Octafish: Ik probeerde de DB mee te sturen, maar hij paste niet in een <100 kilobyte ZIP. Stuur hem nu naar het webmaster mail adres.
 
Een db kun je opslaan als zip bestand (eerst comprimeren), dan is hij meestal al kleiner. Is hij nog steeds te groot, maar onder de 1MB, dan kun je de extensie veranderen naar .xlsb. Dan gaat het uploaden wel. Wij veranderen de extensie dan wel weer terug naar .accdb en dan zou alles weer moeten werken.
 
Even een kleine update:
De fout in het tekstvak links komt doordat de verwijzing naar het formulier niet goed (meer) is. Als je de naam van een object verandert, moet je ook de formules waarin je die naam gebruikt aanpassen. Dat wordt dan in dit geval:
Code:
=[Subformulier Onderdelen_per_produkt_2].[Form]![Part_nr]
Het echte probleem is nog in behandeling :).
 
Beste Octafish

Het is met jouw hulp gelukt om de geselecteerde rij te verwijderen. Het script VBA stond eerst nog onder de verkeerde SUB.

Maar nu komt direkt het volgende: Wanneer er geen rijen meer zijn, en je drukt de Verwijderen knop, komt er een foutmelding. En dit ondanks dat ik een EXIT-SUB erin heb staan met de voorwaarde IsNull(xxx)

Heb je hier ook een oplossing voor...?

Alvast weer bedankt (en voel je niet opgejaagd, ik probeer er wel mee verder te komen, maar er is ook van mijn kant echt geen haast bij ;-)
 
Je test op de verkeerde Null waarde. Kijk maar als je in de stapmodus door de code loopt, dan loopt hij gewoon door. Je moet dus op een andere manier checken of de recordset leeg is.
 
Ook hiervoor alweer een oplossing gevonden. Na de verwijderen-opdracht in SQL laat ik hem nu een LookUp uitvoeren in de tabel, en wanneer er geen records meer zijn zet ik btnVerwijderen.Enabled=False. En bij de toevoegen-opdracht heb ik een regeltje toegevoegd btnVerwijderen.Enabled=True. Alleen blijft de knop nu staan als ik een ander product selecteer... Next Problem: Hoe run ik een VBA script bij het wisselen van het geselecteerde product?
 
Hier moet ik natuurlijk even zelf naar op zoek, maar als je ff-snel het antwoord zo weet: Dankbaar!
 
Voor dit moment heb ik de btnVerwijderen.Enabled er alweer uit gegooid. In de VBA van btnVerwijderen doe ik nu eerst een DCount om te kijken of er iets te verwijderen valt. Als het DCount resultaat '0' is geef ik Exit Sub commando, waardoor er geen foutmelding meer komt. Dat werkt ook.

Verderop in mijn project ga ik de Bij Aanwijzen op Formulier denk ik ook nog wel gebruiken, dat geeft inderdaad de benodigde gegevens. En ik heb inmiddels de functie 'Procedure Uitvoeren' gevonden waarmee een VBA script kan worden uitgevoerd als deel van een macro, ook heel handig!

@Octafish, vind je het goed als ik de vraag toch nog even laat staan op 'niet beantwoord'? Ik denk dat ik je hulp nog wel een keer nodig heb...
Dank je wel tot nu toe in ieder geval!
 
Het is niet aan mij om te bepalen hoe lang een vraag open blijft staan; de algemene policy is geloof ik dat hij na 4 maanden zonder bericht automatisch wordt afgesloten. Iets zegt me dat je dat niet gaat halen :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan