• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Opslaan database in bestand

  • Onderwerp starter Onderwerp starter Imod
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Imod

Gebruiker
Lid geworden
13 nov 2003
Berichten
481
Ik selecteer een gedeelte van een excel bestand, maak hier een database van en sla deze database doormiddel van een macro op als "BEGROOT.DBF"
Het pad is "F:\DOCS\BEGROTING\BEGROOT.DBF"

Wie kan de macro:

Sub Inlezen()
ActiveWorkbook.Names.Add Name:="Database", RefersTo:=Selection
End Sub

uitbreiden door de database op te slaan als F:\DOCS\BEGROTING\BEGROOT.DBF"
Het bestaande bestand waaruit ik de database haal moet open blijven staan.
Hier zou ik dan goed mee geholpen zijn.
mvg Imod
 
Het lukt volgens mij niet om een selectie als file op te slaan, maar misschien is het een suggestie om de selectie te kopiëren naar een nieuw workbook om dat vervolgens op te slaan....

Sub Inlezen()
Application.SheetsInNewWorkbook = 1
ActiveWorkbook.Names.Add Name:="Database", RefersTo:=Selection
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="F:\DOCS\BEGROTING\BEGROOT.DBF", FileFormat:=xlDBF4, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=False
End Sub
 
Laatst bewerkt:
Bedankt voor je reactie Mooncrawler;
Ik heb je VBA getest maar dit werkt niet.

Het lukt me nu ook wel om een selectie op te slaan als database en deze database de naam BEGROOT.DBF te geven in het opgegeven pad.

Nu gebeurt dit op deze manier met deze macro die in een "EXCELBLAD" staat: (niet in een VBA)
begroot (a)
=OPSLAAN()
=OPSLAAN.ALS("F:\DOCS\BEGROTING\BEGROOT.DBF";8;;ONWAAR)
=BESTAND.SLUITEN(ONWAAR)
=TERUG()

Als ik nu de file BEGROOT.DBF in het database prog open en bekijk staat hier alleen de selectie in (geen heel blad)

Wat ik wil is maar 1 macro die en van een selectie de database maakt (zoals ik dit al heb aangegeven) en deze selectie opslaat als "F:\DOCS\BEGROTING\BEGROOT.DBF" zonder een nieuwe map aan te maken en daarbij de huidige map open te laten staan.
Dit lijkt mij toch wel te kunnen(werkt nu wel met 2 verschillende macro’s)

Misschien kun je hem aanpassen zodat deze wel werkt??
mvg Imod
 
Een poging nog:

Sub begroot_dbf()

Application.Goto Reference:="Database"
ChDir "F:\Docs\Begroting\begroot.dbf"
End Sub

Ik heb zelf dit als macro opgenomen maar deze macro weet het pad niet te vinden.

Wie weet het antwoord?
de database moet opgeslagen worden in bovenstaand pad en de naam "begroot.dbf"

mvg Imod
 
ChDir, change directory
Je verwijst nu naar een .dbf-bestand.
ChDir "F:\Docs\Begroting\" zou wel werken.
En dan daarna opslaan?
 
Hallo mooncrawler;

Sub test_opslaan()

Application.Goto Reference:="Database"
ChDir "F:\Docs\Begroting"
"Database".SaveAs Filename:="F:\Docs\Begroting\begroot.dbf"

End Sub

Bij "Database".SaveAs Filename:="F:\Docs\Begroting\begroot.dbf"
loopt het spaak.

De database wil ik opslaan als F:\Docs\Begroting\begroot.dbf

(de database is een selectie cellen)

Kan je me er bij helpen?
Imod
 
Als je opslaat als .dbf, krijg je altijd alleen de selectie...


Sub test_opslaan()
ChDir "F:\Docs\Begroting\"
Sheets("Blad1").SaveAs Filename:="begroot.dbf"
End Sub
 
Hallo mooncrawler;

Ik krijg een foutmelding - Het subscript valt buiten het bereik - wat zal dit zijn??

mvg Imod
 
Hallo mooncrawler;

We komen verder - ik heb nu een begroot.dbf maar hij slaat wel het hele blad op en niet alleen de selectie => de database en alle formules staan er ook nog in - niet alleen de waarden.

mvg Imod
 
Heb je naast Excel ook Access?
Met die twee samen is het namelijk wel gelukt.
 
Laatst bewerkt:
Ik denk dat we er zijn indien ik de waarden van de selectie (niet meer) kan opslaan als begroot.dbf

Ik heb een dbf file zoals hij er uit moet zien erbij gedaan als bijlage (zonder formules en altijd 14 kolommen breed)
De dbf file wordt langer naar mate de database(selectie) langer is.

De dbf file kan ik inlezen met een ander prog. (leest alleen die regels in waar bij kolom 13 een X staat.)

Is nu te openen met excel om deze te bekijken.

mvg Imod
 

Bijlagen

Nee, ik heb geen accres - maar dit is volgens mij ook niet nodig - moet in 1 keer mogelijk zijn vanuit excel
naar de DBF file -
Zoals ik onder al heb omschreven kan ik de database nu ook inlezen maar dit gebeurd op een manier via een macro in een apart excelblad.
Daar wil ik eigenlijk vanaf indien mogelijk.
Ik weet ook niet hoe deze macro werkt (is een keer met een oude excel versie gemaakt)
mvg Imod
 
Dit houd mij nog steeds bezig:
Wie wil er naar kijken - zelf al veel geprobeert maar krijg foutmeldingen:

Sub Opslaan_database_begrootdbf()

ActiveWorkbook.Names.Add Name:="Database", RefersTo:=Selection
ActiveWorkbook.Save
Selection.Copy
Workbooks.Add Template:= _
"F:\Docs\Bedrijfsgegevens\Standaard Brieven\Begroting\leeg.xls"
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Application.Goto Reference:=Selection
ChDir "F:\Docs\Begroting"
ActiveWorkbook.SaveAs Filename:="F:\Docs\Begroting\begroot.dbf", FileFormat_:=xlDBF3, CreateBackup:=False
ActiveWorkbook.Close

End Sub

Er zal teveel in staan en regels niet goed (krijg fout meldingen)

Mijn bedoeling:
Ik heb een bestand open
Ik maak een bepaalde selectie - geef naam database.
ik safe dit bestand (opslaan)
Daarna kopieer ik de selectie.
Ik open daarnaast bestand "Leeg" uit een bepaalde map.
Hier plak ik de waarden in met plakken speciaal (begin bij A1)
Dit bestand (of selectie) sla ik op als "begroot.dbf"
Dit in map F:\Docs\Begroting
Ik sluit bestand "leeg"
En ik hou het 1e bestand open.

Wie o Wie
mvg Imod
 
Ik ben er bijna na zeer veel proberen:

Sub test()

ActiveWorkbook.Save
ActiveWorkbook.Names.Add Name:="Database", RefersTo:=Selection
Selection.Copy
Workbooks.Add Template:= _
"F:\Docs\Bedrijfsgegevens\Standaard Brieven\Begroting\leeg.xls"
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Application.Goto Reference:=Selection
ActiveWorkbook.SaveAs Filename:="F:\Docs\Begroting\begroot.dbf", FileFormat _
:=xlDBF3, CreateBackup:=False
ActiveWorkbook.Close

End Sub

Nu is begroot.dbf al opgeslagen in de juiste map!!
Maar ik krijg nog een melding er achteraan "Wilt U de wijzigingen in begroot.dbf opslaan?" terwijl het opgeslagen bestandje al goed is.

Vraagt de macro teveel? zoja wat moet ik weghalen?
of moet ik een regel toevoegen van niet opslaan bestand?? zoja wat is daar de tekst van in VBA?

Laatste vraag: staat er teveel in de macro wat geen nut heeft (onnodig vertraagt)??

mvg Imod
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan