Hej! Hej Seth! Tack Fredrik! Hej Seth! Hej Maria!Måste jag använda VBA?
Jag är ny här och arbetar med en databas för ett litet(?) arkiv i Mariestad (http://w1.501.telia.com/~u50111371/).
Jag är ute efter en funktion där man istället för att söka "manuellt" efter om en titel redan finns inlagd i databasen kan skriva in titeln inmatningsformuläret och att Access då söker igenom i tabellen "i bakgrunden" så att säga. Hittar den ingen dublett av titeln så skriver man bara vidare och fyller i alla fälten som krävs. Men om den hittar titeln (att den redan finns) så vill jag att Access talar om det, och då kan man radera det man redan hunnit mata in och istället fortsätta med nästa titel.
Frågan är alltså om jag måste använda VBA för att åstadkomma denna "funktion". Jag misstänker starkt att så är fallet, men i så fall skulle jag uppskatta lite tips om hur man skulle kunna gå tillväga...
Tack på förhanden!Sv: Måste jag använda VBA?
Själv skulle jag valt att använda mig av VBA. I VBA finns det olika sätt att åstakomma detta. Snabbast brukar enligt min åsikt vara att använda sig av DLookup-funktionen. Har dock ingen uppfattning om det är den bästa lösningen, men den är enkel att skriva (en rad kod). En lösning skulle kunna se ut så här:
If DLookup("EnKolumnIDinTabell", "DinTabell", _
"TitelKolumnen = " & [Forms]![DittFormulär]![DinTextruta]) <> Null Then
MsgBox "Titeln finns redan i databasen"
End If
Sv: Måste ... o s v
Jag ska kolla upp hur detta funkar och återkommer med en "recension"..
Hittade förresten ett litet exempel här i programarkivet (Programarkivet:För hindra dubletter i Access) som mycket väl motsvarade hur jag vill att min/vår databas ska fungera, men jag vet inte hur denna är gjord... ännu...Sv: Måste jag använda VBA?
Om jag förstår dig rätt skall en titel bara få förekomma en gång, alltså inga dubletter? I så fall kan du går in i tabelldesign och sätta fältegenskapen Indexerat till "Ja, inga dubletter" för fältet titel. Då accepterar Access inga dubblerade titlar.
För att komma ifrån att man hinner mata in data innan Access känner av att titeln är dubblerad kan du spara posten omedelbart efter att fältet titel uppdaterats.
Gå in i design på formuläret. Markera kontrollen Titel. Högerklicka och ta fram dess egenskaper. Välj fliken "Händelseegenskaper". Klicka på "Efter uppdatering". Klicka på nedåtpilen och välj <Händelseprocedur>. Du kommer nu in i kodfönstret och kan skriva in följande kod:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Lycka till!Sv: Måste jag använda VBA?
Tack för ditt svar. Problemet som jag/vi har är att i vissa fall ska det finnas dubletter/kopior av en viss titel (då exempelvis andra fält skiljer), så en funktion där inga dubletter över huvud taget accepteras är inte så bra.
Jag har inte så stora (nästan inga) kunskaper om programmering (i detta fallet VBA), men jag hittade ett exempel på en databas (se tidigare inlägg ovan) som jag håller på att försöka analysera...
Men som sagt: Tack för ditt inlägg i vilket fall!
mvh Seth.