/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Linjeskift i VB
Fra : Tromle
Vist : 389 gange
100 point
Dato : 19-11-04 16:21

Hej Jeg er i gang med at lave et lille prog. som skal kunne overf. navn & adr. fra et access dok. til en brev i word, jeg har fået lavet det meste men jeg kan ikke finde ud af at skifte linje så når navn er overf. så skal adr. stå på næste linje.
Nogen som kan koden?

Her er lidt af koden:

lstResultat.AddItem rs("postnr") & " " & rs("bynavn") & MANGLER KODEN HER & rs("bynavn")
rs.movenext

Det er sikker simpelt men jeg er kørt fast

Mvh.
Tromle

 
 
Kommentar
Fra : berpox


Dato : 19-11-04 16:27

CHR(13)

Kommentar
Fra : emesen


Dato : 19-11-04 16:30

Jeg lavede lige en makro
og der ser det sådan ud når den skifter linie.
abc (enter)
asd (enter)

Sub abc()
'
' abc Makro
' Makro indspillet 19-11-2004
'
Selection.TypeText Text:="abc"
Selection.TypeParagraph
Selection.TypeText Text:="asd"
Selection.TypeParagraph
End Sub


Kommentar
Fra : CADmageren


Dato : 20-11-04 10:51

Chr(13) er ikke altid nok - Det bedste er at bruge vbNewLine


/ Michael Christoffersen


Kommentar
Fra : CADmageren


Dato : 20-11-04 11:26

lstResultat.AddItem rs("fornavn") & " " & rs("eftenavn") & vbNewLine & rs("adresse") & vbNewLine & rs("postnummer") & " " & rs("bynavn")

Dette giver dog et "mærkeligt tegn" i listen, da en listbox ikke kan vise linieskift.
En anden løsning er derfor:

lstResultat.AddItem rs("fornavn") & " " & rs("eftenavn") & " - " & rs("adresse") & " - " & rs("postnummer") & " " & rs("bynavn")

Og ved indsættelse
replace(lstResultat.text, " - ", vbNewLine)

Forøvrigt kan du også bruge Tabulatorer - vbTab.

Men, hvorfor bruger du ikke nogle af Words egne faciliteter til brevfletning?

Eller måske endnu bedre:
Start med at indsætte informationen i "Dokumentegenskaber", og indsæt dem derefter i dokumentet.
På denne måde opnår du to fordele:
1. Du kan lettere styre placering og formatering.
2. Ved at gemme i dokumenteegenskaber, kan du, når du har lavet et dokument, direkte se hvem du har skrevet til gennem Explorer, uden først at åbne det.
Filer - Egenskaber: Opret Brugerdefinerede felter.
Indsæt - Felt: Dokumentoplysninger - DocProperties.

Når du har indsat felterne, kan du programmatisk tilgå disse.


/ Michael Christoffersen


Kommentar
Fra : CADmageren


Dato : 20-11-04 11:27

lstResultat.AddItem rs("fornavn") & " " & rs("eftenavn") & vbNewLine & rs("adresse") & vbNewLine & rs("postnummer") & " " & rs("bynavn")

Dette giver dog et "mærkeligt tegn" i listen, da en listbox ikke kan vise linieskift.
En anden løsning er derfor:

lstResultat.AddItem rs("fornavn") & " " & rs("eftenavn") & " - " & rs("adresse") & " - " & rs("postnummer") & " " & rs("bynavn")

Og ved indsættelse
replace(lstResultat.text, " - ", vbNewLine)

Forøvrigt kan du også bruge Tabulatorer - vbTab.

Men, hvorfor bruger du ikke nogle af Words egne faciliteter til brevfletning?

Eller måske endnu bedre:
Start med at indsætte informationen i "Dokumentegenskaber", og indsæt dem derefter i dokumentet.
På denne måde opnår du to fordele:
1. Du kan lettere styre placering og formatering.
2. Ved at gemme i dokumenteegenskaber, kan du, når du har lavet et dokument, direkte se hvem du har skrevet til gennem Explorer, uden først at åbne det.
Filer - Egenskaber: Opret Brugerdefinerede felter.
Indsæt - Felt: Dokumentoplysninger - DocProperties.

Når du har indsat felterne, kan du programmatisk tilgå disse.


/ Michael Christoffersen


Kommentar
Fra : Tromle


Dato : 21-11-04 16:34

Det jeg skal bruge det til er til mit firma, hvortil jeg vil gør det letter at skrive breve. Jeg vil trække kundenr. ud af databasen således at jeg i word kan skrive kundenr. og så isætter den selv adr. mv. jeg har fået lavet et postnr. prog. hvor man både kan søge i postnr. eller efter bynavn. Og mente at man kunne bruge det samme princip ved enten at søge efter kundenr. eller kundenavn og herefter få dem isat i et word dok.

Kommentar
Fra : Tromle


Dato : 21-11-04 17:00

Hej Michael

Tak for dine råd, men jeg har forsøgt mig og får bare tilføjet linjen vbNewLine i dok. og - hvis det er den jeg bruger.....

Jeg har forsøgt mig som du har skrevet men kan ikke få det til at funge, nu skal jeg også lige tilføje at jeg er newbee så jeg forsøger mig med koder som jeg bare ændre i.

Mvh.
Frank

Kommentar
Fra : CADmageren


Dato : 22-11-04 10:36

Hej Frank

Måske kan dette hjælpe dig på vej.

ftp://ftp.helenfeddema.com/pub/code35.zip

/ Michael Christoffersen
www.cadmageren.dk


Kommentar
Fra : Tromle


Dato : 25-11-04 15:11

Hej igen Michael

Og tak det ser jo lovende ud, men jeg har lige et problem jeg bliver stoppet idet i koden ligger en lookup af versionen af ms office og jeg køre 2003 udgaven og kan sørme ikke hitte ud af hvorledes jeg får tilføjet denne kode i det du har sendt mig, håber at du kan hjælpe mig.

Mvh.
Frank

Kommentar
Fra : CADmageren


Dato : 25-11-04 15:58

Undskyld Frank, men jeg forstår ikke helt det du skriver.

Sandt at sige, er jeg heller ikke Access expert.

/Michael


Kommentar
Fra : Tromle


Dato : 25-11-04 18:37

I det link du har givet, ligger der i koden følgende

'Set up reference to correct version of DAO depending
'on Office version
If Left(strOfficeVersion, 1) = "8" Then
'Use Office 97 DAO version
Set dbe = CreateObject("DAO.DBEngine.35")
strDBName = strOfficePath & "Access Contacts 97.mdb"
ElseIf Left(strOfficeVersion, 1) = "9" Then
'Use Office 2000 DAO version
Set dbe = CreateObject("DAO.DBEngine.36")
strDBName = strOfficePath & "Access Contacts 2000.mdb"
Else
MsgBox "Unknown 'Office version; canceling"
Exit Sub

Da jeg bruger MS office 2003 får jeg flg. besked "Unknown office version" håber at du aligevel kan hjælpe....på forhånd tak.

Kommentar
Fra : CADmageren


Dato : 25-11-04 20:05

Hej Tromle.

Jeg har ikke MS Office 2003, men et enkelt gæt kunne være at du skal bruge:
Set dbe = CreateObject("DAO.DBEngine.37")
eller
Set dbe = CreateObject("DAO.DBEngine.38")

Gå ind i registry og søg efter "DAO.DBEngine", så skal versionsnummeret nok dukke op.

/ Michael Christoffersen







Kommentar
Fra : Tromle


Dato : 25-11-04 21:43

Tak for indsatsen Michael, men desværre virkede det ikke....

Mvh.
Frank

Kommentar
Fra : kimsdk


Dato : 17-02-05 12:22

Er det bare et linieskifte det drejer sig om så:

Private Sub Command1_Click()
MsgBox ("test1") & vbCrLf & ("test2")
End Sub

hvor vbCrLf betyder linieskifte.

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407948
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste