01. oktober 2004 - 12:27Der er
48 kommentarer og 1 løsning
Kundedatabase - Ved klik overfør data.
Jeg har en formular som er baseret på tblemner - Inde i formularen har jeg en ramme med fire alternativer:
Ring igen = værdi = 4
Afsluttet uden salg = 5
Afsluttet med salg = 2
Aldrig ring igen = 3
Når man feks vælger "aldrig ring igen" skal emnet overflyttes til en anden tabel som indeholder de samme felter som "tblEmner" og slettes fra den nuværende tabel!
Denne tabel hedder blot tblEmnerAfsluttet - Men hvordan kan man gøre dette?? - og er det muligt?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Der er så mange felter i min tabel der skal flyttes til tabel2 hvis værdien er = 3 - Så er det jeg spøger efter kan man ikke bare lave det sådan at den flytter alle felter og poster for det pågældende emne??
"strSQL = strSQL & "WHERE (((Tabel1.value)=3));" - Skal der ikke står rammen?? - JEg laver det med en almindelig afkrydsningsboks i stedet - Den hedder afsluttet når denne er = true skal den den overflytte alle - HVordan ser det så ud? - Håber du vil hjælpe en sidste gang?
Aldrig ring igen gemmes ja i opkaldsstatus - men den skal jeg ikke bruge til noget i denne sammenhæng - DEt er jo afkrydsningsboksen Afslut og godkend der skal afgøre om data skal flyttes..
Jo, når du vælger at lave en total overførsel, hhv. sletning af data fra den ene til den anden tabel, er du nødt til at have værdien 3 som rettesnor for, hvad der skal ske med data.
sorry - Men den har også ændret sig lidt undervejs - fik jo et par gode ideer da du kom på banen - Nu er spørgsmålet bare hvordan jeg skriver koden når det skal være en afkrydsningsboks!! -
Det afgørende er fortsat, at når du vil overføre flere poster til en anden tabel og efterfølgende slette de samme data fra den oprindeligt, er du nødt til at identificere disse poster, og du har altså nu to muligheder som jeg ser det :
1. WHERE (((tblEmner.opkalfdsstatus)=3)) 2. WHERE (((tblEmner.[Godkendt og afsluttet])=-1))
Jeg er fuldstændig stået af nu..c",) Jeg vil overflytte flere poster til en tabel og slette dem fra den anden - eller skjule dem hvis dette er muligt! - Men jeg vil kun gøre det ved en ad gangen. Når den får en kryds i Godkendt og afsluttet skal der ske følgende: Data flyttes til tblemner_afsluttet
Når opkaldsstatus som er alternativer har værdien:
Afsluttet uden salg = 5
Afsluttet med salg = 2
Aldrig ring igen = 3
skal de flyttes over i TblEmnerafsluttet -
Dog vil jeg også gerne have en løsning hvor hvis der er et kryds i i Godkendt og afsluttet ( som ikke er en alternativboks, men en afkrydsningsboks) - hvis denne ertrue skal data flyttes til TblEmner afsluttet - SÅ har jeg nemlig to løsninger at vælge imellem..
Såfremt du ikke har fået en endelig løsning - så har jeg et alternativ:
Indsæt en knap (Kopier & Slet) i formularen. Når denne knap aktiveres vil den, den pågældende post i den underliggende tabel bliver kopieret til den anden tabel. Herefter vil posten blive slettet.
Du kan herved selv bestemme, hvornår en post skal kopieres & slettes.
Alle felter - uanset antal vil blive kopieret.
I koden skal der blot indsættes navnet på de to tabeller, nøglefeltets navn i formularen samt nøglefeltets feltnr. i tabellen.
Giv signal, hvis du er interesseret i at få koden.
Her er koden: linien, hvor du skal tilpasse navne m.v. er markeret med <<<<<< som kommentar.
Option Compare Database Option Explicit Dim sletning As Boolean, id Private Sub Form_Open(Cancel As Integer) 'Ved åbning af formularen sletning = False End Sub Private Sub Kommandoknap124_Click() '<<<<<< Slet knappen's hændelse sletning = True Rem ============= id = [kortnr] '<<<<<< formularfeltet's navn for nøglefeltet *) Rem ============= End Sub Private Sub Form_Current() 'Når posten aktiveres - undersøges om der skal ske sletning af forrige If sletning = True Then slet End If sletning = False End Sub Private Sub slet() Rem ============================= Const tabel1 = "stamdata" '<<<<<< primære tabel Const tabel2 = "kopi af stamdata" '<<<<<< tabel for slettede data Const idfeltnr = 0 '<<<<<< nøglefeltets *) plads i den primære tabel - 1. felt = 0 Rem =============================
Dim dbx As Database, stam, Kopi, aktuellepost, f
Set dbx = CurrentDb Set Kopi = dbx.OpenRecordset(tabel2) Set stam = dbx.OpenRecordset(tabel1)
If findAktuelle(stam, id, idfeltnr) = True Then With Kopi .AddNew For Each f In dbx.TableDefs(tabel1).Fields .Fields(f.Name).Value = stam.Fields(f.Name).Value Next f .Update End With
stam.Delete End If End Sub Private Function findAktuelle(stam, id, feltNr) 'find posten i den primære tabel Dim f For f = 1 To stam.RecordCount With stam If .Fields(feltNr) = id Then findAktuelle = True Exit Function End If .MoveNext End With Next f findAktuelle = False End Function
Supertekt - du kunne vel ikke lave et par eksempeler - både et med alternativbokse, kommandoknap, og afkrydningsboks - så er du sku en guttermand og så sende det på en mail til mariacand@webspeed.dk - jeg vil godet give dig nogle flere point!! :-)
Hejsa supertekst... Jeg sidder altså med samme spm som Maria.. var det muligt at du kunne sende de eksempler til mig også.. jeg syns hellerikke jeg kan HITTE u a d!! :( Jeg vil selvfølgelig også gerne give nogle points for d.. Med venlig hilsen th på forhånd takker... min email er= ts"a"net4you.bg
Selv tak - der kan måske være lidt langt for en fad at nå¨til Skive - så et par points er vel nemmere.
MVH
Synes godt om
Ny brugerNybegynder
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.