23. juli 2004 - 17:13Der er
26 kommentarer og 1 løsning
Update access rækker HELP
Kan man opdatere en tabel i access database så rækkerne automatisk rykker op når man har slette nogle???
Det er fordi min indsættelses side bliver ved ved at lægge nye indlæg ind med en høj id.
Hvis jeg har 20 indlæg i databasen og jeg så sletter de 10 af dem og så opretter en masse nye igen så bliver indlæggende lagt ind på den måde at de starter med id 21,22,23 og så videre derud af.
Kan man ikke indsætte nye indlæg som nummer 1,2,3,4 i en access database og ikke som den højeste værdi??
Hvis du f.eks har nr 1,2,3 og 4 og sletter nr. 4, vil den næste post få nr. 5. Men du kan komprimere efter at have slettet nr. 4, så vil næste post få nr. 4.
Hvis du sletter nr. 2 er der ingen mulighed for at genbruge dette nr.
strSQL = strSQL & "Navn, " og en masse flere felter.
strSQL = strSQL & "values( " strSQL = strSQL & "'" & Request("Navn") & "', " og en masse flere felter.
Conn.Execute(strSQL) Conn.Close Set Conn = Nothing
Kan jeg ikke gøre nået ved denne side her så jeg kan indlægge ID som nummer 1 i databasen?? eller skal jeg lave nået helt om i databasen for at få det til at fungere.
En anden mulighed for at slette gamle poster er, at du laver et datofelt der som standardværdi har dags dato. Du kan herefter køre en Delete SQL, der f.eks sletter alle poster der er ældre end Date()-14.
Ja super det ville være rigtigt godt hvis jeg kunne slette indlæg som er: 1 måned gamle. og så med en sletknap af en eller anden art. Men hvordan laver jeg så det??
Hvis du omtaler "ren Access" kan jeg hjælpe dig, men hvis knappen skal ligge på en internetside og programmeres i PHP, ASP eller hvad ved jeg kan jeg ikke.
Jamen dette her er jo kun om access? jeg skal bare vide hvordan jeg kan slette alle indlæg som så er 1 måned gamle og alle dem som ikke er skal ikke slettes
okay min tabel hedder geast og min tabel database ligenu det vil så sige at det skal se sådan ud: Docmd.RunSql "DELETE gaest.Dato FROM gaest WHERE (((gaest.Dato)<Date()-30))"
er det rigtigt?? og hvor kan jeg indsætte dette i access databasen. eller jeg kan måske bare indsætte det i min delete side: strSQL = "DELETE gaest.Dato FROM gaest WHERE (((gaest.Dato)<Date()-30))"
hvad er: Mr.NewRecord hvad skal jeg skrive der?? og hvad er: Docmd.RunSql skal der ikke bare stå strSQL = --------------------------------- Jeg er ny i det her håber du bære over med mig.
Jeg har en formular som hedder slette -------------------------------------- <form action="deletemange.asp" method="post"> <input type="submit" value="slet gamle indlæg som er 30 dage gamle" name="slette"> </form> Den knap skal jeg så bruge til at slette dem der er 30 dage gamle. Da jeg ikke kan finde ud af at gøre det sådan at den sletter indlæg hver eneste gang der bliver oprettet et nyt, altså at den checker om der er nogen som er over 30 dage gamle samtidigt med at der bliver oprettet et nyt indlæg.
Nu er du igen ovre i noget internet, og det har jeg som tidligere nævnt intet forstand på. Kl 17:46:33 sagde du:
"Jamen dette her er jo kun om access?"
Og mit forslag fungerer i en Accessdatabase. Men om du kan få det implementeret via internettet ved jeg ikke.
koden kan indsættes i en formular's VedAktuel hændelse (Current). Me.NewRecord checker om der er tale om en ny post. Hvis denne betingelse er opfyldt køres SQL og sletter de poster der opfylder betingelsen, ellers ikke:
If Me.NewRecord = True Then Docmd.RunSql "DELETE gaest.Dato FROM gaest WHERE (((gaest.Dato)<Date()-30))" End If
Når du programmerer i VBA, skal du have en formular. Det at du kun har en tabel viser, at du stadig går ud fra en internetløsning. Og det kan jeg som før nævnt ikke hjælpe dig med.
Det er nok det bedste du kan gøre. Ingen point - Jeg har rigeligt. Men læg selv et svar og accepter det, så bliver spørgsmålet fjernet fra listen med ubesvarede spørgsmål.
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.