|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
ACCESS esperti cercasi!! HELP
ciao ragà...
so che se non trovo una risposta qui sono un po nei cazzi ho un problema enorme in access... ho svariate decine di database di access i quali al loro interno hanno link a decine di fogli excel... chiaramente questi fogli sono linkati con percorso tipo g: al lavoro dobbiamo cambiare la mappatura dei dischi, per cui per esempio dobbiamo passare da g: a y: come cavolo faccio a modificare in maniera rapida la mappatura delle tabelle linkate?? se devo farlo a mano ci metto circa 2 settimane se uso il linked table manager mi chiede PER OGNI SINGOLO FILE di ricercare a mano il nuovo puntamento.... a me basterebbe modificare la letteraaaaaaaaaaaaaaaa please help me
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Se la lettera "g:" è disponibile (ad es. non è stata assegnata a un nuovo disco), puoi metterci una pezza con il comando subst, intanto che cambi con calma i tutti i riferimenti.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
ma volevo evitare di cambiare tutto a mano
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Rimini
Messaggi: 519
|
Beh..non si riesce a fare una query di UPDATE che ti sostituisca la g con la y? Secondo me se po fa...
__________________
I bikers di Rimini, sito ufficiale: http://www.MotoRn.it PC: AMD Athlon Xp 1600+ | 512MB DDR | MB DFI AD70-SC | Ati Radeon 9800 Pro| Scheda Tv: Empire All In One Video - VGear | SBLive! 1024 | Creative Cambridge SoundWorks 5.1 | HDD IDE: MAxtor 40GB e 120GB | DVD-ROM Hitachi GD7000 | Master. DVD LG4040B FW A302 | Monitor Sony 19'' Trinitron E400 | APC Back-UPS CS 500 | |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Direi che quello suggerito è il modo migliore per farlo...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
beh se mi aiutate pure a farla vi sono QUASI debitore
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
UPDATE Tabella SET Campo = "y" & Right([Campo],Len([Campo])-1);
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
che devo fare?????
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Apr 2003
Città: Rovigo
Messaggi: 42
|
Ma devi cambiare l'origine della tabella collegata o devi cambiare dei dati all'interno delle tabelle collegate??
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
che devo fare?????
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
abbiamo replicato tutti i dati su un nuovo server... l'alberatura delle directory è uguale, cambia solo la lettera con cui si mappa il disco.....
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Te l'ho detto...devi usare la query che ti ho dato... Crei una nuova query in visualizzazione struttura...
Chiudi -> Visualizza -> Visualizzazione SQL -> incolal la query che ti ho dato io mettendo: Al posto di Tabella il nome della Tabella con i dati da cambiare...e al posto dei vari "Campo" il nome del campo della tabella da cambiare... File -> Salva -> metti il nome della Query -> doppio click sulla query... Fai prima un b ackup della tabella: click con il sx sulla tabella -> copia -> click con il sinistro sullo sfondo della lista delle tabelle -> incolla -> metti un nome per la tabella di backup -> seleziona Struttura e dati -> ok |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
ma il fatto è che i dati che sevo cambiare non sono in una tabella...
sono proprio i link della tabella stessa... se vedi in tools linked table manager ti fa vedere i link a fogli esterni, ma non sono in nessuna tabella....SONO le tabelle stesse.... mi sono spiegato?
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#15 |
|
Member
Iscritto dal: Apr 2003
Città: Rovigo
Messaggi: 42
|
Vai nel tuo database dove ci sono le tabelle collegate. Vai su Strumenti -> Utilità database -> Gestione tabelle collegate. Si apre una finestra con tutte le tabelle collegate e il loror rispettivo path. Selezioni tutto o (a gruppi) tutte le tabelle appartenenti allo stesso file. Metti a Vero la chek sotto "Richiedi sempre nuovo percorso" e dai OK. Lui ti chiederà il path del nuovo file per ripristinare le tabelle.
Avvertici se è andato tutto a buon fine!! |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
lo so, ma così devo selezionare il percorso a mano di tutte le tabelle linkate.....e in totale saranno 500...
è questo che non volevo fare
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#17 |
|
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
Ho scritto una routine che dovrebbe fare al caso tuo.
Questo codice và inserito in un modulo di Access e devi utilizzare i riferimenti per la libreria DAO (Microsoft DA0 3.x Object Lybrary). L'ho scritto abbastanza in fretta e diciamo che in linea di massima scorre tutte le tabelle, se una tabella è linkata cerca di risalire tramite la sua connessione al percorso fisico.Se il drive del percorso è diverso da quello che hai impostato nella costante NEW_DRIVE_LETTER (Non avevo voglia di fare un'interfaccia grafica ...) viene modificato il percorso e aggiornato il link alla tabella. E' tutto molto grezzo, ma se lo modifichi per le tue esigenze non dovresti avere problemi. Codice:
Option Compare Database
Option Explicit
Public Sub s_ChangeDriveForLinkedTable()
Const NEW_DRIVE_LETTER As String = "D" ' *** Nuova lettera del Drive da impostare!
Dim oTbl As TableDef
Dim eMsgResult As VbMsgBoxResult
Dim sName As String
Dim sConnect As String
Dim sMsg As String
Dim lTotModify As Long
Dim bDone As Boolean
Dim bError As Boolean
On Error GoTo lError
For Each oTbl In CurrentDb.TableDefs ' *** Scorro tutte le tabelle
If oTbl.Attributes And dbAttachedTable Then ' *** Verifico se è una tabella collegata
sConnect = oTbl.Connect ' *** Recupero stringa di connessione
' *** Cerco di modificare la stringa di connessione sostituendo la lettera del drive con quella specificata
' nella costante NEW_DRIVE_LETTER (Se l'operazione ha esito positivo, viene impostato il flag bDone) e la
' funzione restituisce la stringa di connessione modificata
'
sConnect = f_TableLinkChange(sConnect, NEW_DRIVE_LETTER, bDone)
If bDone Then
' *** Chiedo conferma all'utente prima di procedere con la sostituzione della connessione
'
sMsg = "Vuoi modificare la connessione della tabella collegata '" & oTbl.Name & "'" & vbCrLf & vbCrLf & _
"[Vecchia Connessione = " & oTbl.Connect & "]" & vbCrLf & _
"[Nuova Connessione = " & sConnect & "]"
eMsgResult = MsgBox(sMsg, vbYesNoCancel Or vbInformation)
Select Case True
Case eMsgResult = vbYes
oTbl.Connect = sConnect ' *** Imposto nuova connessione
bError = False
oTbl.RefreshLink ' *** Aggiorno la connessione della tabella
If Not bError Then lTotModify = lTotModify + 1
Case eMsgResult = vbCancel
Exit For
Case Else ' vbNo
' ***
End Select
End If
End If
If oTbl.Attributes And dbAttachedODBC Then
' *** tabella linkata via ODBC... (Da gestire se è il caso ...)
End If
Next oTbl
If lTotModify > 0 Then
MsgBox "Operazione Completata! (Modificate " & lTotModify & " tabelle)", vbInformation
Else
MsgBox "Operazione Completata! (Nessuna tabella modificata)", vbInformation
End If
Exit Sub
lError:
bError = True
MsgBox Err & " - " & Err.Description, vbExclamation
Resume Next
End Sub
Private Function f_TableLinkChange(ByVal sConnect As String, ByVal sNewDriveLetter As String, ByRef bDone As Boolean) As String
Const DBPATH_FIND_STRING = "DATABASE=" ' *** Prefisso che indica il percorso linkato nella connessione della tabella
Dim iPos1 As Integer
Dim iPos2 As Integer
Dim sPath As String
Dim iLenFindString As Integer
Dim sRet As String
bDone = False
iPos1 = InStr(1, sConnect, DBPATH_FIND_STRING, vbTextCompare)
If iPos1 > 0 Then
iLenFindString = Len(DBPATH_FIND_STRING)
iPos2 = InStr(iPos1, sConnect, ";", vbTextCompare) ' *** Potrebbero esserci altri parametri dopo il parametro DATABASE
' *** Recupero il percorso (Linkato)
'
If iPos2 > 0 Then
sPath = Mid(sConnect, iPos1 + iLenFindString, (iPos2 - (iPos1 + iLenFindString)))
Else
sPath = Mid(sConnect, iPos1 + iLenFindString)
End If
If Len(sPath) > 0 Then
' *** Modifico il percorso sostituendo la lettera del Drive
'
'
bDone = f_ChangeDriveLetter(sNewDriveLetter, sPath)
If bDone Then
' *** Ricompongo la stringa di connessione
'
sRet = Mid(sConnect, 1, iPos1 - 1) & DBPATH_FIND_STRING & sPath
If iPos2 > 0 Then
sRet = sRet & Mid(sConnect, iPos2)
End If
End If
End If
End If
f_TableLinkChange = sRet
End Function
Private Function f_ChangeDriveLetter(ByVal sNewDriveLetter As String, ByRef sPath As String) As Boolean
Dim sOldDriveLetter As String
Dim iPos As Integer
Dim bRet As Boolean
sPath = Trim(sPath)
' *** Se la prima lettera del percorso è un "\" significa che è un percorso di rete!
'
If Left(sPath, 1) <> "\" Then
iPos = InStr(1, sPath, ":", vbTextCompare)
If iPos > 0 Then
sOldDriveLetter = Left(sPath, 1)
If sOldDriveLetter <> sNewDriveLetter Then
sPath = sNewDriveLetter & Mid(sPath, iPos)
bRet = True
End If
End If
End If
f_ChangeDriveLetter = bRet
End Function
__________________
E' quasi tutto relativo! |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
beh comunque grazie per lo sbatti
domani al lavoro provo e ti faccio sapere ù
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
scusa la mia ignoranza...
io ho creato un modulo nuovo in access e ci ho copiato la pappardella ho modificato i parametri... ma come faccio a farlo andare?? non c'è un run o qualcosa del genere???
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
ho capito....l'ho lanciato direttamente da vb
FUNZIONA....sei un grande
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:21.



















