02. september 2005 - 10:58Der er
23 kommentarer og 1 løsning
Import problematik
Hvis man har en db til styring af reservedele og der importeres lister fra excel. Så er problemet at nogle af reservedelene allerede er i systemet. Der kan være forskellige oplysninger, som følger med disse reservedelsnumre, der kan være stavefejl osv. Hver reservedel har derfor et stamkort, med oplysninger i. Når der så importeres skal der tjekkes om reservedelsnummer allerede findes i tabellen, hvis det ikke gør så skal feltet stamkort sættes til true.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Importer excelarket til en midlertidig tabel i din db.
Lav derefter en opdateringsforespørgsel, der kontrollerer for om reservedelsnummeret er i db'en i forvejen. Hvis det ikke er tilføjes posten. Efterfølgende kan du slette indholdet af den midlertidige tabel.
Synes godt om
Slettet bruger
02. september 2005 - 15:31#3
Det lyder som en mulighed men jeg kender ikke noget til Delphi og har ikke tid til at sætte mig ind i det nu. Jeg havde mere i retningen af 2dbornot2db's forslag jeg er bare ikke helt sikker på hvordan jeg lige koder det!~)
Har du mulighed for at sende mig din db? SPAMhoff@cbs.dkSPAM - fjern SPAM
Synes godt om
Slettet bruger
02. september 2005 - 15:40#7
Her er hvad jeg har:
Private Sub DataImport_Click() Dim a As String On Error GoTo err_dataimport Me.DataImport.HyperlinkAddress = LaunchCD(Me) Me.Tekst24 = Me.DataImport.HyperlinkAddress a = Me.Tekst24 DoCmd.TransferSpreadsheet acImport, 0, "Reservedelsliste", a, True, "" MsgBox "Følgende data er importeret" err_dataimport: Exit Sub End Sub
Synes godt om
Slettet bruger
02. september 2005 - 15:42#8
Ovenstående virker, hvis jeg markerer det rigtige område i excel, men det skal gemmes som du siger i en midlertidig tabel. Herefter skal forespørgslerne køres eller måske skal man loope sig igennem, hvad ved jeg?~)
INSERT INTO Reservedelsliste SELECT fldReservedelsNavn FROM tblTemp WHERE tblTemp.fldReservedelsNavn Not In (SELECT fldReservedelsNavn FROM Reservedelsliste)
Synes godt om
Slettet bruger
02. september 2005 - 15:58#11
okey nu er dataerne i tblTemp, jeg fortsætter varsomt!~)
Jeg kan nu ikke umiddelbart se nogen syntaksfejl (?) Er det evt. tabel/feltnavnene der ikke er rigtige?
Synes godt om
Slettet bruger
02. september 2005 - 16:11#16
Der var noget brok om en cirkulær reference og så lavede access selv denne sql:
INSERT INTO reservedelsliste ( reservedelsnr ) SELECT tblTemp.Reservedelsnr FROM tblTemp WHERE (((tblTemp.Reservedelsnr) Not In (select reservedelsnr from reservedelsliste)));
Den giver dog ikke nogen hits og det burde der være..
Så prøv først at ændre den fra en opdateringsforespørgsel til en alm. forespørgsel og leg lidt rundt med kriterierne.
Synes godt om
Slettet bruger
02. september 2005 - 16:58#18
Ok.... Jeg kunne ikke få det til at virke, men jeg brugte min egen logiske (læs måske ikke den smarteste) fremgangsmåde..
Først tilføje de data, som er i begge tabeller, så slette disse fra tblTemp. Så tilføje de resterende, med stamkort sat til true og så slette disse.
Kønt er det ikke, men det virker!~)
Jeg lukker nu og tak for hjælpen, hvis du har nogle sidste ord især om hvordan man bruger Not In, så er jeg meget interesseret. Vi er her for at blive bedre....
Go' weekend!~)
ps. smid et svar, så får du points tirsdag..........
Nej - Ved at indeksere og sige Nej til dubletter feltet kan der ikke forekomme dubletter i tabellen. Og det var vel det dit oprindelige spørgsmål gik ud på.
Synes godt om
Slettet bruger
06. september 2005 - 12:05#22
Nej, det er måske lidt utydeligt, men reservedelene skal ind i systemet. Det der er problemet er at der kommer flere "versioner" ind af den samme reservedel, kun nr er unikt. Når jeg så bruger reservedele videre ud i systemet, hvor skal jeg så hente navn, beskrivelse, type osv. fra? Her kommer stamkortet ind i billedet...
Men, jeg har løst det, lidt klodset, men det virker lige efter hensigten!~)
2dbornot2db satte mig på sporet og nåeh ja, jeg ved ikke hvor tæt hans løsning var på at være den rigtige, men det så lovende ud, så alt i alt syntes jeg han skulle smide et svar.....
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.