Halloj, jag håller på med en liten funktion som ska ladda upp en Excelfil och sen plocka ut värden från dem och lägga in i en accessdatabas. Ett problem har dykt upp, jag tänkte att jag skulle kontrollera värdena som hämtas och se så att värdet "Processed" inte finns för det värde jag håller på att mata in i accessdatabasen, om värdet finns i accessdatabasen för det värde som hämtas från Excelarket så tänkte jag generera en liten fel-lista, också i access. För att vara på den säkra sidan och kunna generera en felrapport på enbart den sista uppladdningen tänkte jag använda mig av GUID för att på så sätt få ett unikt värde. Här kommer mitt problem. Jag har skapat en tabell som heter UploadErrors som innehåller OrderNo och sProcessID. Hur skapar/formaterar du ditt guid? Vad gör/innehåller GetGuid? Det här skapar GUID-värdet Om sProcessID är av typen räknare. Så kan du utelämna kolumnen: Om jag inte missminner mig så läggs det på ett nyradstecken på din GUID, så testa att lägga guiden i en sträng och plocka bort de 2 sistatecknen och lägg sedan in din guid i databasen. Ojoj. Tack för det.. Nu funkar det klockrent efter en Left(GetGuid,38). Man tackar. Borde inte OrderNo var ett tal? Borde inte OrderNo var ett tal?Guid och Access
När jag så kör SQL'en för att lägga in ett värde
<code>
if CVO("Processed") <> "No" then
SQLBH2 = "INSERT INTO UploadErrors (OrderNo,sProcessID) VALUES('"& Custorderno &"','"& GetGuid &"')"
Set CVO = ConnDB.Execute(SQLBH2)
end if
</code>
Så får jag felet
[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''5391409D-264C-477C-9BDB-527F23DB1352}'.
Vad beror detta på???Sv: Guid och Access
Kan kommentera bort execut-satsen och istället skriva ut resultatet av din sqlsats?
Om du besvarar dessa fråger tror jag vi kan hjälpa dig istället för att gissa.Sv: Guid och Access
<code>
Function GetGuid()
Set TypeLib = Server.CreateObject("Scriptlet.TypeLib")
GetGuid = TypeLib.Guid
Set TypeLib = Nothing
End Function
</code>
GUID'en är ju det unika värdet som jag tänkte använda för att kunna få en unik identifierare av just den här omgångens uppladdning i felloggen.
Och insert strängen fanns ju från början. Något intressant är dock vad jag får ut av en response.write på SQL-frågan.. Då blir det
<code>
INSERT INTO UploadErrors (OrderNo,sProcessID) VALUES('25054','{F3844F7E-3F36-46FA-B651-8712830A634E}
</code>
Mysko.Sv: Guid och Access
INSERT INTO UploadErrors (OrderNo) VALUES('25054')
Sv: Guid och Access
- magnusSv: Guid och Access
Sv: Guid och Access
Varför använder du inte datatypen till GUID? Access stödjer GUID som Number och AutoNumber. Ändra bara Field Size till Replication ID för fältet.
Du kan sedan formatera ditt guid som:
{guid {3D23160C-9530-44BD-8016-A1003BADAD49}}
I din SQL sats:
<code>
sProcessID = GetGuid()
strSQL = "INSERT INTO UploadErrors (OrderNo, sProcessID) VALUES (" & CLng(OrderNo) & ", {guid "& sProcessID &"})"
</code>Sv: Guid och Access
Varför använder du inte datatypen till GUID? Access stödjer GUID som Number och AutoNumber. Ändra bara Field Size till Replication ID för fältet.
Du kan sedan formatera ditt guid som:
{guid {3D23160C-9530-44BD-8016-A1003BADAD49}}
I din SQL sats:
<code>
sProcessID = Trim(GetGuid())
strSQL = "INSERT INTO UploadErrors (OrderNo, sProcessID) VALUES (" & CLng(OrderNo) & ", {guid "& sProcessID &"})"
</code>