Avatar billede svla Mester
01. september 2014 - 16:54 Der er 21 kommentarer og
2 løsninger

Sletteforespørgsel virker ikke

Hej
Bruger Access 2010.

Har oprettet en access database med 5 tabeller, startformular og 5 indtastningsformulare og 5 sletteforespørgsler.
Sletteforespørgslerne køres/startes  via VBA på startformularen.
Hver tabel har kun 3 kolonner og første kolonne er oprettelsesdato, for hver post.
Sletteforespørgslerne er lavet således at der kigges på oprettelsesdatoen, og hvis den er mere end 90 dage gammel slettes posten, og det har virket i flere måneder.

Problem:
Lige pludselig kan de 2 sletteforespørgsler ikke fungere mere og giver fejl i VBA ved start.
Hvis sletteformularerne køres manuelt kommer denne fejlmeddelelse:
"Søgenøglen blev ikke fundet i nogen poster"

Jeg kan ikke finde ud af hvad problemet er, om det er tabellen eller sletteforespørgslen som det er galt med.

Er der lige en databasekyndig som kan hjælpe mig på vej med en løsning ?????
Avatar billede terry Ekspert
01. september 2014 - 17:00 #1
"Søgenøglen blev ikke fundet i nogen poster"

Sounds as though there is nothing to delete

Would need to see the data and also SQL your using to delete
Avatar billede svla Mester
01. september 2014 - 17:15 #2
Hej terry
Der er masser af poster og også nogle som er over 90 dage gamle det har virket perfekt men stoppede lige pludseligt.
Avatar billede terry Ekspert
01. september 2014 - 17:27 #3
Is it possible to see the dB or an extract of the data?
Avatar billede terry Ekspert
01. september 2014 - 17:31 #4
Normally if you run a delete query such as

Delete * from tbl1 where ID = 12345"

you will get a message (in English)
Your are about to delete 0 records from specified table

Is the message you get "Søgenøglen blev ikke fundet i nogen poster"
a message you have in VBS?
Avatar billede terry Ekspert
01. september 2014 - 17:54 #5
VBS = VBA
Avatar billede svla Mester
01. september 2014 - 18:02 #6
Når jeg kører sletteforespørgslerne manuelt på de tabeller hvor det virker får jeg 2 meddelelser
1.) Du er ved at køre en sletteforespørgsel, der ændre dataene i tabellen.
2.) Du er ved og slette(0)række(r) fra den angivne tabel.

Når jeg kører en sletteforespørgsel manuelt på en tabel hvor det ikke virker kommer følgende 2 meddelelser
1.) Du er ved at køre en sletteforespørgsel, der ændre dataene i tabellen.
2.) "Søgenøglen blev ikke fundet i nogen poster"
Avatar billede terry Ekspert
01. september 2014 - 18:29 #7
Du er ved at køre en sletteforespørgsel, der ændre dataene i tabellen.

Change data on a delete query? Is it because there are related tables?

If your tables are related then you should maybe use cascade delete

http://office.microsoft.com/da-dk/access-help/oprette-og-kore-en-sletteforesporgsel-HA102749580.aspx#relatedtablesdelete
Avatar billede terry Ekspert
01. september 2014 - 18:32 #8
Could you send me an example of the dB?
Avatar billede svla Mester
01. september 2014 - 20:45 #9
Jeg kan desværre ikke sende dig et eksempel, da databasen indeholder en masse tekst fra arbejdsplads, og som er fortroligt
Avatar billede fdata Forsker
01. september 2014 - 21:36 #10
Det lyder som om tabellerne måske er lidt forkølede.
Har du prøvet at køre "Komprimer og reparer database"?
Avatar billede svla Mester
01. september 2014 - 21:59 #11
Hej fdata

Jeg prøver mig lidt frem og vender igen tilbage
Avatar billede svla Mester
02. september 2014 - 11:44 #12
Hej fdata
Har prøvet "komprimer og reparer database", men intet hjalp.
Hvad mener du med at tabellerne er lidt forkølede ?
Er der måske en fejl på nogle af tabellerne
Har du et forslag til hvad der kan være galt?
Avatar billede svla Mester
02. september 2014 - 12:31 #13
Hej
Jeg tror det er poster på tabellen det er galt med.

På den ene tabel er der 2 poster, hvis de sorteres først(øverst) kommer fejlen med  "Søgenøglen blev ikke fundet i nogen poster", hvis de sorteres nederst kommer der ingen fejl.
De 2 poster er det også umuligt og fjerne fra tabellen, hvis jeg prøver kommer lige netop fejlmeddelelsen  "Søgenøglen blev ikke fundet i nogen poster"

Er der nogen som har en alternativ måde til og hjerne posterne på tabellen.
Avatar billede terry Ekspert
02. september 2014 - 17:10 #14
If there are other tables containing data which is related to these records then that could be the problem but I don't think that is the case.

Try deleting one of them with an SQL statement

EG:

Delete * from YourTable where PrimaryKey = 1234
Avatar billede svla Mester
02. september 2014 - 20:32 #15
Hej
Jeg tror jeg har fået løst problemet.
Vedr. min sletteforespørgsel kiggede jeg på alle sletteforespørgslerne under forespørgselsværktøjet "Vis" som "designvisning" "SQL visning" og "dataarkvisning"
Under datavisning kunne jeg på de tabeller som der var problemer med se 1-2 poster, på de tabeller som der ikke var problemer med kunne der kun ses en tom post.
- Altså for mig måtte det være de poster som kunne ses og som der kunne være problem med.
Det viste sig lige netop at disse poster ikke kunne slettes på nogen som helst måde!
Jeg eksporterede herefter tabellernes data til Excel og slettede de poster som var problemet.
Herefter kopierede jeg en tabel uden problemer, slettede alle poster og importerede dem fra Excel til tabellen.
Herefter fungerede alt igen.

Tak for jeres input det hjalp mig på rigtig god vej
Avatar billede fdata Forsker
02. september 2014 - 21:26 #16
... og dermed fandt du selv ud af, hvad jeg mente med at tabellerne var lidt forkølede.
Ikke syge (ubrugelige); men bare forkølede (der er et eller andet galt).
Min pointe var at det formodentlig var tabellens indhold, den var gal med, når du spurgte "Er det tabellen eller sletteforespørgslen som det er galt med"; men det fandt du jo så også selv ud af.
Avatar billede svla Mester
02. september 2014 - 22:22 #17
På min indtastningsformular indsætter VBA en oprettelsesdato ved oprettelse af ny post, men på formularen er datofeltet sat til "lang datoformat" i egenskaberne.
Der kunne godt være nogle brugere som efter VBA har indsat datoen, så har brugerne selv rettet på datoen uden at de vidste hvilket format datoen skal skrives i.
Herefter kan sletteformularen ikke læse datoen/serialnumret.
- Det må helt sikkert være det som skabte problemer.
Nu er det lavet således at datoen kun kan rettes ved hjælp af en lille kalender ved datofeltet.

Tak for indsatsen jeg synes i begge skal deles om point.
Avatar billede svla Mester
02. september 2014 - 22:24 #18
Vær venlig og læg et svar
Avatar billede terry Ekspert
03. september 2014 - 07:59 #19
If a date has been entered in wrong format it shouldn't stop you from being able to delete it afterwards. Unless of course your using a date in the criteria for finding the records to delete.
Avatar billede fdata Forsker
03. september 2014 - 19:51 #20
Enig med terry; men det vigtigste er at du kom videre :O)
Avatar billede svla Mester
03. september 2014 - 20:06 #21
Hej Begge to!
Lige nu virker det perfekt igen.
Sletteformularen benytter datofelterne til sletning, - så det var nok lige der det var galt.
Tak for jer hjælp, det gav mig inspiration til fejlfindning.
Point er fordelt ligeligt.
Tak for jeres indsats.
Avatar billede terry Ekspert
03. september 2014 - 20:51 #22
tak
Avatar billede fdata Forsker
04. september 2014 - 21:24 #23
... og også tak herfra :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester