Allvarligt, är dessa två verkligen gjorda för varann? Kan du förklara vad du gör så vi lättare kan förstå och eventuellt tolka vad som kan gå fel. Vad gör du, vad är det för data, hur ser datat ut osv. En kod gör som man säger åt den att göra, om det diffar är det något i datat eller koden som kan tolkas på flera sätt. Godmorgon, nu har ja sovit av mig det värsta:) Du får skylla dig själv när att du gått på MS stöten att använda ADO till Access. Som vanligt kommer SvenPon med konstruktiva inlägg när det gäller VB och ADO :-) Do While Not rs.Eof 1. Spela roll!!! Tjena boys´n girls. En sak som är MYCKET viktigt då man använder Access är att Access använder en så kallad post-låsningsfil för att hantera samtidiga användare. Hej, det finns inga som helst rättighetsproblem i detta "fel". Du säger att du använder vb och har ett nytt projekt som koden inte fungerar i, samt att samma kod fungerar i den gamla? I så fall har du inte markerat att projektet skall använda sig av ADO.Nu är jag TRÖTT på vb-sql....
Nu har jag suttit HELA dan och labbat me detta och olika projekt beter sig olika me EXAKT samma kod, hur kommer det sig?
Jag startar ett prj och sedan ett till, i den ena funkar koden, i den andra inte....SUCK SUCK....
Kurserna på pellesoft tycker jag e för avancerade för ett jon som jag...tyck va ni vill.
Om det finns nån vänlig själ som kan ge mig lite info kring detta som verkar vettigt så är ja tacksam.
Nu ska ja försöka sova, trots alla sqlsatser som far runt....gonatt.
PS : Lägger väl denna under NYBÖRJARE då.....Sv: Nu är jag TRÖTT på vb-sql....
Sv: Nu är jag TRÖTT på vb-sql....
Hej
Det är bara att bryta ihop och komma igen, men jag känner igen frustrationen, den tror jag att alla som kodar känner av, även jag som har kodat ett tag blir galen på alla dessa fnuttar som ska in.
Men när man sen väl lyckats att lösa ett problem och der fungerar som det ska så blir man rätt stolt över sig själv.
Så kämpa på, alla har vi varit barn i början.
//Anna-KarinSv: Nu är jag TRÖTT på vb-sql....
<code>
Set con = CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & FILNAMN 'stämmer
'här har det blivit fel plötsligt då o då
con.Open strConn
Set rs = CreateObject("ADODB.RecordSet")
'OCH HÄR MED
rs.Open "SELECT * FROM " & TABELL & " ORDER BY " & FÄLT & " " & SORT, con, 3, 3
'Strängen ovan FUNKAR det vet jag.Har allt i databasen.
For i = 1 To rs.RecordCount
' vid 0 här krachar VB...
OutPut = OutPut & rs.Fields("datum") & Space(5)
OutPut = OutPut & rs.Fields("temp") & Space(5)
rs.movenext
Next
rs.Close
con.Close
End Function
</code>
Denna kod funkar i ett redan befintligt proj, kopierar jag o ska testa i ett helt nytt skiter det sig redan där ja skriver att det blir fel.
Jag fill oxå ha en funktion där ja kan återanvända koden, hur ska jag bäst göra en sådan gällande sqlsatser?Sv: Nu är jag TRÖTT på vb-sql....
ADO är ett djä skit som aldrig borde sett dagens ljus.Om du skall jobba med Access
så använd DAO 3.6 Skall du inte använda Access så välj vad som helst utom ADO.Sv: Nu är jag TRÖTT på vb-sql....
Några saker :
* Är det ASP du kör? Annars finns det sällan någon anledning att använda CreateObject (behövs dock när man vill köra Late Bound). Skriv annars så här i stället :
Set con=New ADODB.Connection
* När du hämtat ett RecordSet med data så kan det vara idé att kolla EOF och/eller BOF-propertyn för att se om RecordSet:et är tomt eller har data.
If rs.EOF And rs.BOF Then
' Tomt recordeset
Else
' Det finns data....
End If
* Beroende på vilken cursortyp du använder så fungerar inte alltid RecordCount. Ibland är det bättre att loopa med en Do-While i stället.
Do While Not rs.Eof
' Do stuff
rs.MoveNext
LoopSv: Nu är jag TRÖTT på vb-sql....
' Do stuff
rs.MoveNext
Loop
Varför i hela fridens namn skall man lägga in en onödig negation NOT
Do Until rs.Eof
' Do stuff
rs.MoveNext
Loop
ADO är en slö långsam onödigt krånglig DataBas konstruktion.Sv: Nu är jag TRÖTT på vb-sql....
2. Är den både slö och långsam? Då är det illa...allvarligt talat, den är inte slö och den är inte krånglig. Om man är insnöad på DAO och inte vill lära sig nytt så kan det väl te sig så antar jag...Sv: Nu är jag TRÖTT på vb-sql....
Jag skrev i min kod vart det blev fel o felet handlade om att filen redan användes.
Dan efter jag skrev inlögget snacka ja me en polare o han fråga om jag stängde anslutningen ordentligt, vilket jag ju gör.
MEN jag stegade mig igenom med F8, stannade i koden för jag gjorde fel o då va den kanske inte stängd?
När jag sedan skulle ansluta så hoppa den bara vidare utan o "connecta".
Trött o fel kanske.
Dom övriga tipsen ska jag kolla på.
Jag kör VB.Sv: Nu är jag TRÖTT på vb-sql....
Det betyder att den användare som försöker ansluta mot databasen måste ha read/write/delete rättigheter i den katalog databasen ligger.
Brukar oftast vara problem på web-lösningar, men kan vara värt att kolla.
Sedan så brukar Access öppna databasen exlusivt, dvs ingen annan får öppna och läsa i den.
Så om du har Access, alltså programmet, öppnat med din databas så finns risken att den är öppnad exlusivt.
Då får du de felmeddelanden du talar om.
Sedan för att ansluta till "flaming-sessionen" om ADO och Access så måsta jag bara säga...
Jag har använt ADO och Access sedan ADO såg dagens ljus och det har alltid fungerat perfekt.
Snabbt och enkelt, precis som det skall vara.
/JohanSv: Nu är jag TRÖTT på vb-sql....
Däremot så ska jag ha detta i åtanke: " Access öppna databasen exlusivt"
Tack/BSv: Nu är jag TRÖTT på vb-sql....
Tryck CTRL+T i projektet och markera Microsoft ADO 2.x Libray och prova igen. Jag skrev x för det kan vara allt från version 2.1 till 2.8 idag lite beroende på vilka MDAC (www.microsoft.com/data)man har hämtat hem som är drivrutiner för databaserna.