Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Kanske rättighetsproblem.

Postades av 2002-12-07 16:54:40 - Benni Svensson, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 472 personer

Min idé är så här.
Jag har via ett "utforskar-fönster" möjlighet att leta rätt på alla mina mdb-filer.
Dom listas i en listbox. Genom att klicka på mdb filen så ville jag ha fram lite info om filen.
Så här försöker jag:
<code>
MSysObjects = NormalizePath(File1.Path) & File1

SQL = "SELECT MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Name, MSysObjects.Type " & _
" From MSysObjects " & _
" Where (((MSysObjects.Type) = 1) And ((Left$([MSysObjects.Name], 1)) <> ""~"") And ((Left$([MSysObjects.Name], 4)) <> ""Msys"")) " & _
" ORDER BY MSysObjects.Name"
Set Rst = Con.Execute(SQL)
MsgBox Rst(3)
MSysObjects = NormalizePath(File1.Path) & File1

SQL = "SELECT MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Name, MSysObjects.Type " & _
" From MSysObjects " & _
" Where (((MSysObjects.Type) = 1) And ((Left$([MSysObjects.Name], 1)) <> ""~"") And ((Left$([MSysObjects.Name], 4)) <> ""Msys"")) " & _
" ORDER BY MSysObjects.Name"
Set Rst = Con.Execute(SQL)
MsgBox Rst(3)
</code>
Jag får ett error:

Runtime error '2147217911 (80040e09);
Det går inte att läsa poster(na)
Behörighet att läsa data saknas för MSysObjects.

Då har jag ändå kollat väldigt noga så att lägga till IUSR osv
Vad felas?


Svara

Sv: Kanske rättighetsproblem.

Postades av 2002-12-07 18:19:11 - Andreas Hillqvist

Titta på OpenSchema metoden på Connection objektet istället. Mycket smiddigare.


Svara

Sv: Kanske rättighetsproblem.

Postades av 2002-12-07 19:45:31 - Benni Svensson

Jo det känns nog rätt, men jag hittar inte allt i min hjälp.
När jag kör:
Set Rst = Con.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "VIEW"))
så får jag bara fram frågorna 8det är ju vad views betyder...)
men kör jag:
Set Rst = Con.OpenSchema(adSchemaTables)
då får jag fram allting.
Jag vill inte ha systemtabellerna.
Några tips?


Svara

Sv: Kanske rättighetsproblem.

Postades av 2002-12-07 20:50:18 - Benni Svensson

Nu går det som tåget(nästan)
Men ändå lite frågor.
Jag kör nu så här:

<code>
Set Rst = Con.OpenSchema(adSchemaColumns, Array(Empty, Empty, List1.Text))

While Not Rst.EOF
List3.AddItem Rst!COLUMN_NAME
Rst.MoveNext
Wend

Set Rs = Con.OpenSchema(adSchemaProviderTypes)
While Not Rs.EOF
List4.AddItem Rs!TYPE_NAME
List5.AddItem Rs!COLUMN_SIZE
Rs.MoveNext
Wend
</code>
Som det nu är, så får jag fram alla fälten, och alla datatyperna och storleken, men det är inte som jag ville ha det.
Jag ville ha det att den skulle ta fram datatyp och storlek för just dom fälten som jag använder.

Några tips?


Svara

Sv: Kanske rättighetsproblem.

Postades av 2002-12-08 00:10:25 - Andreas Hillqvist

<code></code>Du använder DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE osv...

Här kanske är en början för dig:
<code>

Set Rs = Con.OpenSchema(adSchemaColumns, "TABLE_NAME='" & List1.Text & "'")

Set ListItems = ListView1.ListItems
Do Until Rs.EOF
Set ListItem = ListItems.Add(, , "" & Rs("COLUMN_NAME"))
Select Case Rs("DATA_TYPE")
Case adBoolean
ListItem.SubItems(1) = "Boolean"
Case adTinyInt
ListItem.SubItems(1) = "TinyInt"
Case adSmallInt
ListItem.SubItems(1) = "SmallInt"
Case adInteger
ListItem.SubItems(1) = "Integer"
Case adDate
ListItem.SubItems(1) = "Date"
Case adCurrency
ListItem.SubItems(1) = "Currency"
Case adDecimal
ListItem.SubItems(1) = "Decimal"
Case adDouble
ListItem.SubItems(1) = "Double"
Case adGUID
ListItem.SubItems(1) = "GUID"
Case adSingle
ListItem.SubItems(1) = "Single"
Case adChar
ListItem.SubItems(1) = "Char"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
Case adWChar
ListItem.SubItems(1) = "Char (Unicode)"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
Case adVarChar
ListItem.SubItems(1) = "VarChar"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
Case adVarWChar
ListItem.SubItems(1) = "VarChar (Unicode)"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
End Select
Rs.MoveNext
Loop
</code>


Svara

Sv: Kanske rättighetsproblem.

Postades av 2002-12-08 01:17:58 - Benni Svensson

Det här ser ju kanonbra ut, men jag får problem.
Först, error:
3251 Objectet eller providen kan inte utföra den här åtgärden.
Och så pekar han på den här raden:
Set Rs = Con.OpenSchema(adSchemaColumns, "TABLE_NAME='" & List1.Text & "'")

Con öppnar jag med:

ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NormalizePath(File1.Path) & File1 & ";" & _
"Persist Security Info=False"
Set Con = CreateObject("adodb.connection")
Con.Open ConStr

och där har jag inga problem.

Han vill också ha ListItems, ListItem dimmade,men jag är osäker på vad för variabel det skall vara.


Svara

Sv: Kanske rättighetsproblem.

Postades av 2002-12-08 15:30:43 - Andreas Hillqvist

<code></code>
Jag visar informationen i en listview istället för i listboxar. Det är därför jag använder
Exemplet använder bara tre kolumen i Listviewn. Med det är bara för dig att fylla på:
<code>
' * Lägg till en listview
' * Lägg till Tre ColumnHeaders i ListView1
' + Name
' + Type
' + Size
Dim ListItem as ListItem
Dim ListItems as ListItems
Set Rs = Con.OpenSchema(adSchemaColumns, Array(Empty, Empty, List1.Text))

Set ListItems = ListView1.ListItems
Do Until Rs.EOF
Set ListItem = ListItems.Add(, , "" & Rs("COLUMN_NAME"))
Select Case Rs("DATA_TYPE")
Case adBoolean
ListItem.SubItems(1) = "Boolean"
Case adTinyInt
ListItem.SubItems(1) = "TinyInt"
Case adSmallInt
ListItem.SubItems(1) = "SmallInt"
Case adInteger
ListItem.SubItems(1) = "Integer"
Case adDate
ListItem.SubItems(1) = "Date"
Case adCurrency
ListItem.SubItems(1) = "Currency"
Case adDecimal
ListItem.SubItems(1) = "Decimal"
Case adDouble
ListItem.SubItems(1) = "Double"
Case adGUID
ListItem.SubItems(1) = "GUID"
Case adSingle
ListItem.SubItems(1) = "Single"
Case adChar
ListItem.SubItems(1) = "Char"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
Case adWChar
ListItem.SubItems(1) = "Char (Unicode)"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
Case adVarChar
ListItem.SubItems(1) = "VarChar"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
Case adVarWChar
ListItem.SubItems(1) = "VarChar (Unicode)"
ListItem.SubItems(2) = rs("CHARACTER_MAXIMUM_LENGTH")
End Select
Rs.MoveNext
Loop
</code>


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
5 893
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies