80014e40 fout

Status
Niet open voor verdere reacties.
Dat kan niet; je hebt nu alle code gekopieerd. Als je op de knop met 3 puntjes klikt, kom je altijd in één procedure terecht. Nu zie ik wel verschillende functies/knoppen, maar geen enkele die gebruikt kan worden om een nieuw record toe te voegen.
 
Toch is dit het scherm wat zich opent als ik op de puntjes klik.
Het is zeker niet mogelijk de database ergens te uploaden zodat je het live kan zien wat er gebeurt?
 
Kan altijd; je kunt hem neerzetten bij WeTransfer, of Wikisend.com bijvoorbeeld. En dan de link die je krijgt hier posten.
 
OK. Heel hartelijk dank alvast. https://we.tl/Cm3AtW415W
* Het gaat dus om de nieuwe record knop.
* En het aanpassen/selecteren van het jaartal.
Daarbij krijg ik steeds de foutmeldingen.
 
De foutmelding heb je niet als je met de hand een nieuw jaar toevoegt in de tabel met Maandjaren. Dus 12 records toevoegen voor 2017 en je kan weer even vooruit.
 
Bedankt OctaFish om er naar te kijken en mijn excuses dat ik je weer moet lastig vallen..
1 - probleem van de jaartallen
Ik heb de records toegevoegd in de tabel tblJaarMaand, maar wanneer ik in het formulier het jaartal wil aanpassen/selecteren, krijg ik de foutmelding "Compileerfout: Kan de methode of het gegevenslid niet vinden."
Vervolgens opent de foutopsporing waarbij bovenaan Private Sub cmbJaar_AfterUpdate() staat aangeduid.

2- probleem van nieuw record toevoegen
Het formulier waarbij alles wordt ingevuld is frmFirmalijst. De knop met het witte blad Record toevoegen doet ook nog steeds vreemd.
Het hoort de velden te legen zodat een nieuw record toegevoegd kan worden. Na eerst een foutmelding te hebben gegeven opent het nu de record van SANECO.

Nog suggesties? Bedankt alvast weer.
 
Dat laatste zag ik inderdaad ook, en daar moet je ook wat aan doen. Het eerste kon ik niet reproduceren, want na het toevoegen van het jaartal deed de code het verder. Althans: hij liep netjes door. Heb je wel de goede nummers toegevoegd? Ik zag dat er een 'gat' zat (record 21 ontbrak, dus 2017 heeft dan nummer 22). Maar maakte dus het formulier inderdaad niet leeg. De hele aanpak van jouw db staat zó ver af van mijn eigen werkwijze, dat ik er eerlijk gezegd niet over zou piekeren om het te 'repareren' als ik het zelf in beheer zou hebben. Het is (voor mij ;) ) veel makkelijker om min of meer overnieuw te beginnen met logica die ik wél snap :). Maar ja, daar heb jij natuurlijk niet aan...
 
Tja, wat nu.
Wat ik heb toegevoegd is in tblJaarMaand :
records idsJaarMaandId intJaarId intMaandId
218 22 1
219 22 2
220 22 3
221 22 4
222 22 5
223 22 6
224 22 7
225 22 8
226 22 9
227 22 10
228 22 11
229 22 12

Foutmelding die komt is dus die Compileerfout: kan de methode of het gegevenslid niet vinden
Vervolgens opent foutopsporing
Code:
Private Sub cmbJaar_AfterUpdate()


    Dim adorst As ADODB.Recordset
    Dim adocmd As New ADODB.Command
    Set adorst = New ADODB.Recordset
    adorst.Open "SELECT tblJaarMaand.intJaarId FROM tblJaarMaand WHERE (((tblJaarMaand.idsJaarMaandId)=" + CStr(txtMaand.Value) + "));", CurrentProject.Connection, adOpenStatic
    If CInt(cmbJaar.Value) <> adorst("intJaarId").Value Then
        Set adocmd.ActiveConnection = CurrentProject.Connection
        adorst.Close
        adorst.Open "SELECT tblJaarMaand.idsJaarMaandId FROM tblJaarMaand WHERE (((tblJaarMaand.intJaarId)=" + CStr(cmbJaar.Value) + ") AND ((tblJaarMaand.intMaandId)=" + CStr(cmbMaand.Value) + "));", CurrentProject.Connection, adOpenStatic
        adocmd.CommandText = "UPDATE tblFirma SET tblFirma.intMaandId=" + CStr(adorst("idsJaarMaandId").Value) + " WHERE (((tblFirma.idsFirmaId)=" + CStr(Form_frmFirmalijst.cmbFirma.Value) + "));"
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        Me.Refresh
        [I][B]DoCmd.Execute[/B][/I]
    End If
    adorst.Close
Bij opdracht DoCmd.Execute lijkt ook iets niet goed te gaan.
Hoe nu verder. Opnieuw beginnen lijkt mij wat onbegonnen werk.
Is de database nog te herstellen?

Ook de nieuwe record toevoegen heb ik geen idee van waarom dat fout gaat.
Zie jij kans om dat te repareren (eventueel tegen vergoeding?)
 
Laatst bewerkt:
Probleem van de jaartallen is opgelost.
> Bij opdracht DoCmd.Execute lijkt ook iets niet goed te gaan.
Dit moest dus zijn adocmd.execute

Nu moet ik alleen nog zien waarom de nieuw record knop niet goed werkt.
Mocht je nog suggesties hebben.
 
Ik vind het hele gebruik van ADO in deze db nutteloos, en maakt hem alleen maar nodeloos ingewikkeld. Je kunt alles namelijk met ingebouwde Access technieken doen, dus waarom een externe bibliotheek gebruiken? Maar ik kijk nog wel even naar wat die knop zou moeten doen, en waarom hij het niet doet.
 
Ik zou het nu ook anders doen, maar deze db is 10 jaar geleden gemaakt. Bedankt dat je nog naar die knop wilt kijken.
 
Hoe zou je huidige database best kunnen ombouwen/nieuw maken zonder externe bibliotheken.
Wat ik nodig heb is een database waarin staat:
- fabrikanten met adresgegevens
- de vertegenwoordiger van die fabrikant met contactgegevens (email, gsm)
- de producten (met productcode) die ze verhandelen.
- de locatie van waar de documentatie in de bibliotheek te vinden is.
- datum van actualisatie van documentatie

Binnenkort gaat de nummering van productcodes volledig wijzigen, dus wellicht is dat het moment een nieuwe database te maken.
Alle tips zijn welkom.
 
Hoe zou je huidige database best kunnen ombouwen/nieuw maken zonder externe bibliotheken.
Je huidige db maakt gebruik van de ADO bibliotheek, maar dat hoeft dus niet. Access heeft zelf al de DAO bibliotheek ingebouwd en die kun je dus altijd aanspreken. Soms móet jae wel overstappen op ADO, maar daar is hier volgens mij geen sprake van.

Je datamodel hoeft niet zo heel ingewikkeld te zijn, op basis van je omschrijving. Die bevat overigens alleen de stamtabellen, zoals Fabrikant, Vertegenwoordiger en Product, maar dat is dus niet genoeg. Je zult moeten nadenken over wat je nodig hebt. Als het gaat om vertegenwoordigers, kun je dan denken aan vragen als: wil ik per fabrikant één vertegenwoordiger vastleggen, of meerdere? Als ik in de huidige processen aan één CP genoeg heb, blijft dat dan ook zo in de toekomst, of is er wellicht ooit behoefte aan het vastleggen van meerdere CP's? Wil je de historie van de CP's behouden, of is het voldoende als je de meest recente informatie hebt?
Daarnaast heb je een tabel nodig waarin je de producten koppelt aan de leveranciers. En uiteraard de documentatie zelf; die zul je waarschijnlijk wel bewaren ook al is die verouderd, dus dan heb je een tabel voor het document zelf, en een tabel voor de verschillende versies.
 
Bedankt voor het meedenken.
- Het gaat telkens om 1 actuele contactpersoon per bedrijf (geschiedenis niet nodig)
- maar er moeten soms wel meerdere producten aan een bedrijf gekoppeld kunnen worden. (zoals je wellicht in het voorbeeldbestand hebt kunnen zien).
- De producten hebben unieke code wat ook de plaatscode is in de kast. Bij meerdere productnummers van 1 bedrijf staan de verwijzingen onder welke productcode (vaak hoofdgroep) de documentatie in de kast is terug te vinden (ook dat is in voorbeeldbestand terug te zien, welke ik je eerder doorstuurde).

Is dit alles zonder ADO te bewerkstelligen?
 
Absoluut, je kunt gewoon met gekoppelde formulieren werken. De ontwerper zal er wel een bedoeling mee hebben gehad, maar die is al lang met het noorderlicht verdwenen. En de ontwerper dus ook :)
 
OK. Aangezien die dus weg is hierbij een link naar het bestand zoals het nu is. https://we.tl/kPl9t6xqXs (Firmalijst totaal)
Het maand jaartal gebeuren werkt weer.
Het enige wat nu niet werkt is de nieuw record knop.
Wanneer je een nieuwe fabrikant wilt toevoegen, voegt hij wel een nieuw record toe maar opent hij vervolgens het record met de gegevens van SANECO, welke als ik die aan zou passen overschreven worden.
Via uitklapvenster fabrikanten zie ik wel bovenaan in de lijst een leeg record weke ik vervolgens kan vullen.
Hoe zou dit probleem op te lossen zijn? Ik zie niet waar het mis gaat.
Alle hulp is welkom, waarvoor vast mij grote dank.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan