20. juli 2004 - 18:09Der er
44 kommentarer og 2 løsninger
Forespørgsler
1. Citat: "Bemærk, at vinduets overskrift viser teksten Udvælgelsesforespørgsel for at minde dig om, at du arbejder med dynaset og ikke den egentlige tabel". Mener man der med blot, at der kun arbejdes med poster som b e f i n d e r sig i den tabel, som forespørgslen skal relatere til?
2. Citat: "Såfremt forespørgslen kun udvælger og sortere dataoplysningerne, kaldes den resulterende samling med et fint ord for dynaset". Forvirring: Hvad skulle forespørgelsen ellers gøre?? Forespørgelser er jo til at udvælge data?
Nu arbejder jeg aldrig med access, men som 2. citat siger, så betyder dynaset at forespørgslen kun udvælger og sorterer. Hvis vi kalder selve tabellen X, og dynaset Y, så står der i 1. citat at du kun arbejder med Y(derfor viser vinduets overskrift teksten "Udvælgelsesforespørgsel"). Det vil sige at det ting du arbejder med, er forespørgslen, og egentlig ikke har nogen indflydelse på tabellen, forespørgslen laves på, kun de data der bliver vist når forepørgslen køres.
En forespørgsel kan også bruges til at indsætte data, selv om det nok ikke er det man forbinder ordet "forespørgsel" med. Jeg kan så ikke huske om man også kan det i Access, selvom jeg faktisk har PC-Kørekort, og færdiggjorde det her før sommerferien :I
Hvis det jeg skriver ikke passer, så undskylder jeg, men nogle gange må man lige kigge forbi en anden kategori, for ikke at køre fast i de samme :)
2. Citat: "Såfremt forespørgslen kun udvælger og sortere dataoplysningerne, kaldes den resulterende samling med et fint ord for dynaset".
Hvad hvis forespørgslen foretager nogle beregninger? Er den så ikke dynamisk?
Man burde have brugt et andet udtryk end "dynaset" f.eks "en dynamisk begrænsning af tabellens poster", eller have defineret udtrykket "dynaset" lidt bedre.
Sådan som det står, så ja, du arbejder kun med de tabeller, du har inkluderet i din forespørgsel - og der kan jo sagtens være mere end én tabel. Hele 1. citat går egentlig kun på, at vinduets overskrift viser noget - det sætter ingen restriktioner.
Udtrykket "dynaset" skal du forstå ligesom ordet "dynamisk". Du kan have en tabel der er statisk, d.v.s. at du ikke ændrer posterne. Lad os antage at du har et felt med en indkøbspris. Nu vil du i din forespørgsel foretage forskellige beregninger:
- Avance - Moms - Udsalgspris
Disse beregninger er afhænig af feltet indkøbspris, men uden at ændre indkøbsprisen, kan du lade forespørgslen foretage beregning af udsalgsprisen ved at indtaste forskellige parametre.
The RecordsetType property uses the following settings in a Microsoft Access database (.mdb).
Setting Visual Basic Description Dynaset 0 (Default) You can edit bound controls based on a single table or tables with a one-to-one relationship. For controls bound to fields based on tables with a one-to-many relationship, you can't edit data from the join field on the "one" side of the relationship unless cascade update is enabled between the tables. For more information, see the topic that explains when you can update records from a query. Dynaset (Inconsistent Updates) 1 All tables and controls bound to their fields can be edited. Snapshot 2 No tables or the controls bound to their fields can be edited.
If you don't want data in bound controls to be edited when a form is in Form view or Datasheet view, you can set the RecordsetType property to Snapshot. The RecordsetType property uses the following settings in a Microsoft Access project (.adp).
For lige at slå nogle begreber fast (med frygt for måske at skabe lidt mere forvirring):
Dynaset = dynamisk recordset Et recordset er blot et "sæt poster" fra en tabel (eller en anden forespørgsel) Dynamisk betyder blot, at man kan redigere (oprette, slette eller ændre) posterne.
Jeg ville glemme alt om dynasets og blot betragte en udvælgelsesforesørgsel som en måde at udvælge bestemte poster med bestemte kolonner fra en eller flere tabeller.
Når du ændre data i en forespørgsel (hvis du får lov), ændre du det i virkeligheden i tabellen.
What? "Når du ændre data i en forespørgsel (hvis du får lov) ændre du i virkeligheden i tabellen". Det troede jeg netop man ikke gjorde. Hvordan nu det?
Jeg tror nok det andet er faldet på plads nu (ellers gør det sq aldrig).
Alle har bidraget med noget jeg kan bruge, så læg point for svar. Det bliver samlet til mere end de 15. Flest point til mugs; skal ud over hjælpen have point for din store tålmodighed!!!
I andre databaser (f.eks. den gamle Paradox) kan forespørgsler i princippet være tabeloprettelsesforespørgsler, hvor udtrækket gemmes i en temp-tabel, hvorfor ændringer IKKE slår gennem i den oprindelige tabel. Men i Microsoft-verdenen slår ændringer igennem i tabellen.
Giv bare Mugs alle point (dem, som jeg måske skulle have haft i hvert fald).
Vender tilbage.... Hjælp Nej, spøg til side - Du er velkommen. Kan genkende dine problemer fra min egen tid "absolut begynder". Nu er jeg kun begynder :o)
candino 20:22:57 For lige at gøre rede for hvad jeg mente, så var det at en forespørgsel ikke har nogen indflydelse på tabellen du arbejder med, >>så længe det er en forespørgsel hvor du kun laver et dataudtræk<<. Jeg skal dog ikke gøre mig alt for klog på Access, da jeg er sådan en som har det bedre med renkodning, i stedet for det er grafisk som Access :) Mine udtalelser er baseret på min erfaring med MySQL, men stadigvæk burde de basiske principper bag en database, være det samme.
Terrak->her er der så en forskel på microsoft-databaser og MySQL. Hvis du åbner en forespørgsel og ændrer i en post, så ændrer du samtidig i tabellen. Det gælder vist også Oracle...
men jeg synes, at det er interessant, at du bringer det på bane, da jeg ikke vidste at MySQL gør det på den anden måde....som inkarneret Access-mand gennem 11-12 år, så er Access' måde den naturlige for mig, ligesom jeg også synes, at der er enorme fordele ved at du kan lave formularer baseret på forespørgsler.
thomasjepsen > jeg sidder helt og kommer i tvivl om jeg har fået forklaret det rigtigt, da måden jeg beskriver, også forekommer naturligt for mig :)
Jeg er dog ret sikker på at jeg til enhver tid ville hælde til MySQL, selvom det er et sprog, hvor access er et program(så sammenligningen holder vel ikke helt 100%). Hvorfor? Fordi først gang jeg lærte om relationer, var det i Access. Da jeg så ville det prøve det samme i MySQL, bøvlede jeg lidt med det, men så så jeg lige pludselig den logiske sammenhæng i det :) og så var jeg simpelthen overbevist om at MySQL kunne det samme som Access, og da jeg kun bruger databaser i forbindelse med websider, så var der endnu en god grund til at blive ved MySQL.
Mugs og Candino->jeg spurgte lige en CoAdmin, som gjorde mig opmærksom på, at der i VENSTRE side under "Spørgsmål data" står et punkt, som hedder "tildel flere point" :o) Den er åbenbart ny, tror jeg... ;)
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.