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


Loop i VB Hjälp sökes

Postades av 2002-07-02 14:03:32 - Anders Bengtsson, i forum visual basic - allmänt, Tråden har 16 Kommentarer och lästs av 492 personer

Hejsan jag har lite probelm i VB

Jag vill göra en loop som tar ut alla min material och sen dimensionerna till dem.

material
----------
MaterialId
Material

Dim
---------
Id
MaterialId
Dim

MaterialId i material är kanske 4 då har alla dimensioner som hör till detta material materialId 4 i tabellen Dim
Vill ha fram Material tex Stål och sen alla dimensioner under det tex så här

Stål

10
50
20

sen vill jag att nästa material ska komma

Järn

20
50
10

osv

Hur skriver jag en loop som gör detta. Har väldiga probelm med detta.
Väldigt tacksam om hjälp kan fås.
Anders


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 14:05:14 - Jonas Gauffin

använder du en databas?


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 14:28:00 - Anders Bengtsson

Japp en Access Databas


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 14:52:59 - Sven Åke Persson

Hej
Det får bli en Relationsdatabas.
Samm teknik som fakturabehandling.
KundNr motsvara din materialId
Faktura motsvarar dina dimensioner.

Får se vad du får för fler svar ,annars kan jag
skicka ett principexempel. Kör du med ADO eller DAO ?

Sven


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 14:53:04 - Jonas Gauffin

jag skulle göra så här:

Sub ListaMaterial(adoCon as ADODB.Connection)
dim rsMat as ADODB.Recordset
dim sLastMaterial as string

rsMat = adoCon.Execute("SELECT m.material, d.dim" & _
" FROM material m, dim d " & _
" WHERE m.materialid = d.materialid " & _
" ORDER BY m.material")

while not rsMat.EOF

'Titta om det är nytt material
if sLastMaterial<>rsMat!material then
debug.print rsMat!material
sLastMaterial = rsMat!material
end if

'Skriv ut dimisionerna
debug.print rsMat!dim

rsMat.MoveNext

wend

rsMat.Close

End Sub


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:03:04 - Anders Bengtsson

Hur gör jag för att köra detta då, om jag vill ha en knapp för att få detta att fungera. För nu händer inget när jag lägger in din kod i ett formulär



Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:04:31 - Jonas Gauffin

vet du hur databaser fungerar?
vart vill du presentera datat? i en textbox?


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:05:11 - Anders Bengtsson

japp det ska jag veta :)
Var som helst egentligen kan jag presentera den, men i ett eget formulär i VB


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:10:08 - Anders Bengtsson

Ska ha detta så att jag kan skriva ut det är tanken


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:17:34 - Jonas Gauffin

nu är jag lat och förutsätter att du har en DSN till din databas, någon annan kan säkerligen visa dig hur använder databasen direkt istället.

lägg till detta under General Declarations:
dim adoCon as ADODB.Connection

i form_load:
adoCon.Open "dsnnamn"

lägg till en textbox på ditt formulär och döp den till txtData, ändra multiline till true och scrollbars till both

lägg till en knapp på ditt formulär och skriv detta i Command1_Click()
ListaMaterial adoCon

Lägg till detta i ditt formulär:

Sub ListaMaterial(adoCon as ADODB.Connection)
dim rsMat as ADODB.Recordset
dim sLastMaterial as string

rsMat = adoCon.Execute("SELECT m.material, d.dim" & _
" FROM material m, dim d " & _
" WHERE m.materialid = d.materialid " & _
" ORDER BY m.material")

while not rsMat.EOF

'Titta om det är nytt material
if sLastMaterial<>rsMat!material then
txtData = txtData & rsMat!material & vbcrlf & vbcrlf
sLastMaterial = rsMat!material
end if

'Skriv ut dimisionerna
txtData = txtData & rsMat!dim & vbcrlf

rsMat.MoveNext

wend

rsMat.Close

End Sub


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:24:32 - Anders Bengtsson

Object variable or With block variable not set

Private Sub Form_Load()
adoCon.Open "dsnnamn"

End Sub


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:27:38 - Anders Bengtsson

har detta i min modul

Global Con As ADODB.Connection
Global rst As ADODB.Recordset


Public Enum dbDatabaseType
dbSQLServer = 1
dbOracleServer = 2
dbAccess = 3
End Enum

Public Enum dbRecordsetType
dbOpenastable = 1
dbOpenAsQuery = 2
End Enum


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:32:06 - Anders Bengtsson

ändrade om sökvägen till databasen till min Con, men nu klagar den på

rsMat = Con.Execute("SELECT m.material, d.dim" & _
------


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:38:37 - Anders Bengtsson

så här har jag det nu

Private Sub Command1_Click()
ListaMaterial Con
End Sub

Private Sub Form_Load()

Con.Open "dsnnamn"



End Sub

Sub ListaMaterial(Con As ADODB.Connection)
Dim rsMat As ADODB.Recordset
Dim sLastMaterial As String

rsMat = Con.Execute("SELECT m.material, d.dim" & _
" FROM material m, dim d " & _
" WHERE m.materialid = d.materialid " & _
" ORDER BY m.material")

While Not rsMat.EOF

'Titta om det är nytt material
If sLastMaterial <> rsMat!material Then
txtData = txtData & rsMat!material & vbCrLf & vbCrLf
sLastMaterial = rsMat!material
End If

'Skriv ut dimisionerna
txtData = txtData & rsMat!dim & vbCrLf

rsMat.MoveNext

Wend

rsMat.Close

End Sub


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:44:16 - Jonas Gauffin

oj.

ändra raden till:
set rsMat = Con.Execute("SELECT m.material, d.dim" & _

sedan ska du byta ut "dsnnamn" mot namnet på din odbc anslutning alternativt att du ansluter mot databasen direkt.


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 15:46:25 - Anders Bengtsson

Kanon jag fick det att funka, Texten kom i rätt ordning och allt, bara enterslag och sådant jag skulle vilja lägga in mellan Material och dim och sen när en ny kommer.


Svara

Sv: Loop i VB Hjälp sökes

Postades av 2002-07-02 16:12:07 - Jonas Gauffin

ok. då tittar vi lite närmare på loopen som listar allting.

vbCrLf betyder enter, dvs radmatning.

_ kan användas för att tala om att raden är uppdelad på flera
txtdata = "detta är " & _
" egentligen " & _
" en rad"
är samma sak som
txtdata = "detta är " & " egentligen " & " en rad"

& användas för att lägga ihop flera textsträngar till en, + kan användas, men det blir lite fel med nummer.
txtData = "1" + "2" blir inte "12" som man skulle kunna tro utan istället 3.

txtData = "1" & "2" blir "12"


While Not rsMat.EOF

'Titta om det är nytt material
If sLastMaterial <> rsMat!material Then

'Vi har ett nytt material, skriv in det i textboxen samt två radmatningar
txtData = txtData & rsMat!material & vbCrLf & vbCrLf

'spara detta material för att jämföra med nästa
sLastMaterial = rsMat!material

End If

'Ta innehåller i txtData och lägg till dim och en radmatning
'spara resultatet i txtData
txtData = txtData & " " & rsMat!dim & vbCrLf

rsMat.MoveNext

Wend


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 607
27 953
271 708
541
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